在JS中是否有相当于Python的.get()?

时间:2017-06-01 12:03:44

标签: javascript object properties

know如何检查Object属性是否存在。

如果我的对象中可能存在或可能不存在多个属性,这会使我的代码复杂化。 Python的解决方案是使用.get()

>>> a = {'x': 1, 'y': 2}
>>> a.get('z')
>>> a.get('z', 'hello')
'hello'

在第一种情况下,返回None(布尔型,一个False)。

JS中是否有这样的结构(纯粹受到图书馆污染)?

1 个答案:

答案 0 :(得分:3)

您可以通过简单的||操作实现此目的:

var a = {x:1, y:2};

console.log(a.x); // Output: 1
console.log(a.z); // Output: undefined
console.log(a.z || 'hello'); // Output: hello

var b = (a['y'] || 'hello'); // b = 2
var c = (a['z'] || 'hello'); // c = 'hello'