Что является противоположностью («ключ» в obj) в javascript? - PullRequest
2 голосов
/ 21 декабря 2011

Это может показаться очень простым, но вот мой вопрос, что является противоположностью

if('name' in obj)

Это if(!'name' in obj) или if("name" not in obj) или что-то еще?

Спасибо!

Ответы [ 5 ]

8 голосов
/ 21 декабря 2011

просто заверните в паренсы:

if( !( 'name' in obj ) ){
4 голосов
/ 21 декабря 2011

Было бы так:

if (!('name' in obj)) {
    // 'name' not found in obj
}
2 голосов
/ 21 декабря 2011

"name" in obj - это просто логическое выражение, как и a && b || c.Вы можете отрицать это как любое другое выражение: !("name" in obj).

1 голос
/ 21 декабря 2011

Есть несколько способов, например:

if (!('name' in obj))
if (Object.keys(obj).indexOf('name')<0)
0 голосов
/ 21 декабря 2011

Возможно, вы захотите:

if (obj.hasOwnProperty(propName)) 

, который проверяет свойство на самом объекте.Чтобы включить унаследованные свойства, подойдут другие ответы с использованием оператора in.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...