2012-03-19 2 views
1

Недавно я наткнулся на некоторый код, как это:Как описать inline && на английском языке?

parent && parent.removeChild(this); 

Который занимает место:

if(parent) 
    parent.removeChild(this); 

Я вижу, как это работает, я просто иметь много проблем, объясняющую синтаксис, я просто на английском, так что я могу реализовать его в другом месте (думаю, я не совсем понимаю, что происходит, я просто знаю, как это работает в этом конкретном случае). Например, ниже, которое я использую, часто легко читается для меня как значение "значение a или b (в отсутствие a)".

var url:String = root.loaderInfo.parameters.url || "http://test.com/"; 

ответ

2

Вы можете думать об этом, как это:

Выполните оператор на правой стороне, если и только если заявление на левой стороне возвращает истинное значение.

+0

Работает для меня .. Просто кажется странным, потому что '&&' читает как AND для меня, так что это похоже на свойство и метод запуска без значимого контекста. – Marty

+1

Это AND, но вы должны прочитать его следующим образом: _if left AND right возвращает true_ - поэтому, если одно из условий слева или справа от оператора сработает, тогда весь оператор (строка кода не работает). «Возвращает true» означает любое значение _truth_, которое обычно означает положительное целое число. –

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