Dường như với tôi rằng có bốn cách khác nhau tôi có thể xác định liệu một đối tượng nhất định (ví dụ foo
) có một tài sản nhất định (ví dụ bar
) định nghĩa:JavaScript: Là thành viên được xác định?
if (foo.hasOwnProperty(bar)) {
if ('bar' in foo) {
if (typeof foo.bar !== 'undefined') {
if (foo.bar === undefined) {
Để xác định xem có thích hợp không ty có tên "bar
" trong đối tượng foo
, tất cả đều là ba trong số những tuyên bố tương đương? Có bất kỳ ngữ nghĩa sublte tôi không biết rằng làm cho bất kỳ của ba báo cáo khác nhau?
Cần lưu ý rằng, trừ khi ai đó ghi đè biến 'undefined' toàn cầu, 3 cũng có thể được thực hiện như' if (foo.bar! == không xác định) {'. – Domenic