instanceof
Оператор вимагає лівого операнда бути типу Будь-якими, типу об'єкта, або типу параметра типу, а правий операнда , щоб мати типу будь-яких або підтип «Function» типу інтерфейсу. В результаті завжди булевий примітивний тип.
Таким чином, ви можете використовувати
mySprite instanceof Sprite;
Зауважте, що цей оператор також є у ActionScript, але його там більше не слід використовувати:
Оператор is, який є новим для ActionScript 3.0, дозволяє перевірити, чи є змінна або вираз членом даного типу даних. У попередніх версіях ActionScript оператор instanceof забезпечував цю функціональність, але в ActionScript 3.0 оператор instanceof не повинен використовуватися для тестування на приналежність до даних. Оператор is повинен використовуватись замість оператора instanceof для ручної перевірки типу, оскільки вираз x instanceof y просто перевіряє ланцюг прототипу x на наявність y (а в ActionScript 3.0 ланцюг прототипу не забезпечує повного уявлення про ієрархія спадщини).
TypeScript instanceof
поділяє ті самі проблеми. Оскільки це мова, яка ще розвивається, я рекомендую вам висловити пропозицію щодо такої програми.
Дивитися також:
Std.is(pet, Fish)
, яка працює на типи, інтерфейси тощо.