2016-02-15 2 views
-7

Иногда я вижу in operator с кодом JavaScript в Интернете, но не так много раз. Всего несколько кодов использовали его.В чем преимущество использования `in` -операторов в JavaScript?

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

Какова была цель, когда они стандартизировали его? В чем преимущество использования операторов in в JavaScript?

Редактировать: Умм, извините. Я думал об операторе ., поэтому я хотел сказать, что это было.

«Вы можете использовать их вместо этого, чтобы проверить, существует ли свойство, и почему вы используете in

if(object["name"]) 
if(object.name) 

Я не мог думать о том случае, когда object является {name: undefined}. Сожалею.

+0

Преимущества в отличие от чего? – Quentin

+1

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

+1

@Joaquinglez - Какой массив? Что это связано с 'for'? – Quentin

ответ

2

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

if ("name" in object) { ... } 

Без in, что было бы сложнее. Вы можете проверить для null или undefined, но это не отвечает на вопрос однозначно.

Обратите внимание, что маркер in также появляется в for ... in цикле:

for (name in object) 

Это то же самое слово in конечно, но в этой ситуации она не выступает в качестве оператора выражения; это просто как сахар для синтаксиса.

+0

Могу ли я использовать 'if (object.name)' или 'if (object [" name "]) вместо него? –

+3

Если 'object.name' - это пустая строка или ноль, или' NaN', или 'false', или' null', или 'undefined', тогда тест' if (object.name) 'будет терпеть неудачу точно так же, как если бы 'имя' не было свойством объекта. – Pointy

+0

А, я вижу .. '{name: undefined}' .. –

Смежные вопросы