JavaScript: Оператор instanceof
Оператор | Тип оператора | А | О | Типы значений |
---|---|---|---|---|
… instanceof … | Проверка на принадлежность к данному типу | слева направо | 2 | объект, конструктор → булево |
Оператор instanceof выполняет проверку на принадлежность объекта к указанному типу. Если проверяемый объект принадлежит к указанному типу, результатом будет значение true
, иначе – false
. Если левый операнд не является объектом, возвращается false
. Если правый операнд не является функцией, возникает ошибка:
function A(){} function C(){} var o = new C(); alert(o instanceof C); // true alert(o instanceof A); // false var arr = []; alert(arr instanceof Array); // true var x = ""; var y = 1; alert(x instanceof Object); // false alert(x instanceof y); // Ошибка. y не является функцией
Оператор in
Оператор | Тип оператора | А | О | Типы значений |
---|---|---|---|---|
… in … |
Проверка наличия свойства | слева направо | 2 | строка, объект → булево |
Оператор in выполняет проверку наличия свойства в объекте. Если проверяемое свойство есть в объекте (собственное или наследуемое), результатом будет значение true
, иначе – false
:
var obj = {x:1}; alert("x" in obj); // true alert("a" in obj); // false var arr = [1]; alert("0" in arr); // true alert(0 in arr); // true. 0 преобразован в "0" alert(1 in arr); // false
С этой темой смотрят: