为了账号安全,请及时绑定邮箱和手机立即绑定

我想知道如果 JavaScript 中的对象中的值未定义有什么区别

我想知道如果 JavaScript 中的对象中的值未定义有什么区别

偶然的你 2022-12-22 13:13:38
变量 'bar' 都是未定义的。obj.bar但是和之间有什么区别obj2.bar吗?const obj = { foo: "foo" };console.log(obj); // { foo: 'foo' }console.log(obj.bar); // undefined const obj2 = { foo: "foo", bar: undefined };console.log(obj2); // { foo: 'foo', bar: undefined }console.log(obj2.bar); // undefined 
查看完整描述

1 回答

?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

在第一种情况下,bar没有声明。但在第二种情况下, thebar被声明并定义为undefined。


相当棘手,找到它的方法是,如果你使用Object.keys(obj),你找不到bar。


此外,使用obj.hasOwnProperty('bar')会给你错误。感谢deceze ♦指出了这一点。


const obj = { foo: "foo" };

// console.log(obj); // { foo: 'foo' }

// console.log(obj.bar); // undefined 


const obj2 = { foo: "foo", bar: undefined };

// console.log(obj2); // { foo: 'foo', bar: undefined }

// console.log(obj2.bar); // undefined


console.log(Object.keys(obj));

console.log(Object.keys(obj2));

console.log(obj.hasOwnProperty('bar'));

console.log(obj2.hasOwnProperty('bar'));


查看完整回答
反对 回复 2022-12-22
  • 1 回答
  • 0 关注
  • 89 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信