2015-07-21 49 views
9

Có thể kiểm tra biến để xem biến đó là nguyên thủy không?kiểm tra nếu một biến là một nguyên thủy chứ không phải là một đối tượng?

Tôi đã thấy rất nhiều câu hỏi về việc thử nghiệm một biến để xem nó có phải là một đối tượng không, nhưng không phải thử nghiệm cho một nguyên thủy.

Câu hỏi này mang tính học thuật, tôi thực sự không cần thực hiện kiểm tra này từ mã của riêng tôi. Tôi chỉ đang cố hiểu sâu hơn về JavaScript.

+0

Một loại cụ thể của nguyên thủy, hoặc chỉ cần bất kỳ cũ không-một-đối tượng nguyên thủy? –

+0

Bạn đã thử sử dụng 'typeof myVar! == 'đối tượng' && typeof myVar! == 'string' ...'? – Justinas

+0

Tài liệu liên quan: ['typeof' operator] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof) –

Trả lời

4

Object chấp nhận một đối số và trả nó là là một đối tượng, hoặc trả về một đối tượng khác .

Sau đó, bạn có thể sử dụng so sánh bình đẳng nghiêm ngặt, so sánh các loại và giá trị.

Nếu value là một đối tượng, Object(value) sẽ là cùng một đối tượng, vì vậy value === Object(value). Nếu giá trị không phải là một đối tượng, thì value !== Object(value) vì chúng sẽ có các loại khác nhau.

Vì vậy, bạn có thể sử dụng

Object(value) !== value 
Các vấn đề liên quan