Đây là một câu hỏi thực sự cơ bản thực sự chỉ để thỏa mãn sự tò mò của tôi, nhưng là có một cách để làm một cái gì đó như thế này:Javascript instanceof Nếu Bản Tuyên Bố
if(obj !instanceof Array) {
//The object is not an instance of Array
} else {
//The object is an instance of Array
}
Mấu chốt ở đây là có thể sử dụng KHÔNG! trước mặt. Thông thường, cách tôi phải thiết lập điều này là như sau:
if(obj instanceof Array) {
//Do nothing here
} else {
//The object is not an instance of Array
//Perform actions!
}
Và một chút phiền toái khi phải tạo một tuyên bố khác khi tôi chỉ muốn biết đối tượng là một loại cụ thể.
@ hrishikeshp19 - Tôi khá chắc chắn bạn cần parens, tôi chỉ cố gắng rằng trong chrome, IE và nút và mỗi máy chủ cần chúng. –
@ riship89 parens là bắt buộc, bằng chứng: '' !! obj instanceof Array'' trả về false (sai) trong khi '' !! (obj instanceof Array) '' trả về true (đúng) – zamnuts
Lý do là obj được đánh giá đầu tiên trong if (! obj instanceof Array), đánh giá true (hoặc false), mà sau đó sẽ trở thành nếu (bool instanceof Array), mà rõ ràng là sai. Do đó, quấn nó trong dấu ngoặc đơn như được gợi ý. – ronnbot