在javascript中相当于.get?

前端之家收集整理的这篇文章主要介绍了在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没有该属性,或者如果它具有该属性,但属性的值未定义.

猜你在找的JavaScript相关文章