Instanceof
Операция instanceof возвращает true, если специфицированный объект имеет специфицированный тип.
Реализована в
Синтаксис
objectName instanceof objectType
Параметры
objectName |
Имя объекта для сравнения с objectType.
Описание
Используйте instanceof, если необходимо подтвердить тип объекта на этапе прогона. Например, при отлове исключений Вы можете выполнять ветвление по различным вариантам кода, в зависимости от типа вызываемого исключения.
Вы обязаны специфицировать объект справа от операции instanceof. Например, Вы можете специфицировать строку, созданную с помощью конструктора String, но не можете специфицировать строковой литерал.
color1=new String("green")
color1 instanceof String //
возвращает true
color2="coral"
color2 instanceof String //
возвращает false (coral не является String-объектом)
Примеры
См. также примеры для .
Пример 1.
В этом коде instanceof
используется для определения, является ли theDay Date -объектом. Поскольку theDay является Date -объектом, операторы в операторе if
выполняются.
theDay=new Date(1995, 12, 17)
if (theDay instanceof Date) {
// выполняемые операторы
}
Пример 2.
В этом коде instanceof
используется для демонстрации того, что объекты String
и Date имеют также тип Object (они получены из Object).
myString=new String()
myDate=new Date()
myString instanceof String // возвращает true
myString instanceof Object //
возвращает
true
myString instanceof Date //
возвращает false
myDate instanceof Date //
возвращает true
myDate instanceof Object //
возвращает true
myDate instanceof String //
возвращает false
Пример 3.
В это коде создаётся тип объектов Car и экземпляр этого типа объектов, mycar. Операция instanceof демонстрирует, что объект mycar имеет тип Car и тип Object.
function Car(make, model, year) {
this.make = make
this.model = model
this.year = year
}
mycar = new Car("Honda", "Accord", 1998)
a=mycar instanceof Car // возвращает true
b=mycar instanceof Object //
возвращает true