什么相当于javascript中的“has_key”?

时间:2011-07-14 02:13:23

标签: javascript python

if dictionary.has_key('school'):

你会如何用javascript写这个?

5 个答案:

答案 0 :(得分:20)

hasOwnProperty

if(Object.prototype.hasOwnProperty.call(dictionary, key)) {
    // ...

您也可以使用the in operator,但有时会产生不良结果:

console.log('watch' in dictionary); // always true

答案 1 :(得分:9)

使用in运算符:

if('school' in dictionary) { …

或者可能支持更多的弓箭手:hasOwnProperty

if(dictionary.hasOwnProperty('school')) { …

在边境案件中可能会出现问题:typeof

if(typeof dictionary.school != 'undefined') { …

一个人不能使用!= undefined因为未定义不是关键字,并且它的语义因浏览器而异:

if(dictionary.school != undefined) { …

答案 2 :(得分:5)

'in'运算符。

if ('school' in dictionary)

答案 3 :(得分:5)

您也可以尝试:

if(dictionary.hasOwnProperty('school'))

如果属性实际位于实例上,hasOwnProperty方法将仅评估为true,而不是简单地从原型继承 - 与in的情况一样。

例如,重新评估('toString' in myObject)将为true,而myObject.hasOwnProperty('toString')将为false

答案 4 :(得分:0)

甚至,

if(dictionary.school!=undefined)