微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在javascript中相当于.get?

d = {'hello':'abc'}
d.get('hello','default_val');

以上是python在javascript中怎么做?如果没有找到密钥,我想要设置认值.

解决方法

你有(至少)四个选择:

>在许多情况下,您可以使用the curiously-powerful || operator

x = obj.key || "default";

这意味着:将x设置为obj.key,除非obj.key是伪造的,在这种情况下,请使用“default”.伪造的值是未定义的,null,NaN,“”,当然是假的.因此,如果obj.key可能有效地为0或其他任何值,则不需要使用它.
新新新新200新旗新新200新新200新新200新新200新200新200新200新新200新新200新不适用,有操作符:

x = "key" in obj ? obj.key : "default";

in告诉我们对象是否具有给定键的属性.注意键是一个字符串(属性名称是字符串或符号;如果你使用的是Symbol,你会知道).所以如果obj.key可能是有效的0,那么你想使用这个而不是上面的#1.
如果它在对象或对象的原型链中(例如,如果您检索到该属性,则可以从所有的地方获取它).如果只想检查对象本身而不是其原型链,则可以使用hasOwnProperty:

x = obj.hasOwnProperty("key") ? obj.key : "default";

>具体检查未定义:

x = typeof obj.key !== "undefined" ? obj.key : "default";

这将使用认值,如果obj没有该属性,或者如果它具有该属性,但属性的值未定义.

原文地址:https://www.jb51.cc/js/152880.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐