Toán tử instanceof
Toán tử instanceof là toán tử của JavaScript để kiểm tra xem một object có phải là instance của class hay không.
Cú pháp
jsobject instanceofClass
jsobject instanceofClass
Tham số
- object: Object cần kiểm tra.
- Class: Tên class cần kiểm tra.
Ví dụ
tsclassClassA {}classClassB {}consta = newClassA ();console .log (a instanceofClassA );console .log (a instanceofClassB );
tsclassClassA {}classClassB {}consta = newClassA ();console .log (a instanceofClassA );console .log (a instanceofClassB );
Kế thừa và instanceof
instanceof cũng có thể kiểm tra quan hệ kế thừa. Ví dụ, có thể kiểm tra xem instance của class Child có phải là instance của class Parent hay không như sau:
tsclassParent {}classChild extendsParent {}constchild = newChild ();console .log (child instanceofParent );
tsclassParent {}classChild extendsParent {}constchild = newChild ();console .log (child instanceofParent );
Đảo ngược instanceof
Để đảo ngược kết quả của toán tử instanceof, cần bao toàn bộ câu value instanceof ClassName bằng ngoặc đơn và thêm toán tử phủ định ! ở đầu.
tsif (!(myInstance instanceofMyClass )) {// Xử lý khi myInstance không phải MyClass}
tsif (!(myInstance instanceofMyClass )) {// Xử lý khi myInstance không phải MyClass}
Abstract class và instanceof
TypeScript có abstract class. Toán tử instanceof cũng có thể sử dụng với abstract class.
tsabstract classAbstractClass {}classConcreteClass extendsAbstractClass {}constobj = newConcreteClass ();console .log (obj instanceofAbstractClass );
tsabstract classAbstractClass {}classConcreteClass extendsAbstractClass {}constobj = newConcreteClass ();console .log (obj instanceofAbstractClass );