在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没有该属性,或者如果它具有该属性,但属性的值未定义.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...