2015-05-04 5 views
-1

Может ли кто-нибудь объяснить мне эту строку кода и почему мы используем '?' в javascript?Что означает '?' в Javascript?

return n > 0 ? ninja.yell(n-1) + "a" : "hiy"; 
+3

Выражение, за которым следует немедленно '?', Будет выполнено, если условие становится истинным else выражением после ':' будет выполнено. Чтобы узнать больше https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator –

+4

см. Этот вопрос: http://stackoverflow.com/questions/6259982/js-how-to-use-the-ternary-operator – samgak

ответ

3

Это троичный оператор, который также присутствует в других языках программирования:

return n > 0 ? ninja.yell(n-1) + "a" : "hiy"; 
     ^^  ^^      ^^ 
if condition  if true    if false(else) 

выше утверждение эквивалентно ниже:

if(n>0) { 
    return ninja.yell(n-1) + "a"; 
} else { 
    return "hiy"; 
} 

Для более read this tutorial.

1

знак вопроса на самом деле называется Ternary Operator, как правило, в области программирования Языки используется для одна линия, если заявление и имеет следующую конструкцию:

состояние? вернуться, если условие Правда: возвращение если условие Ложные

Подумайте тройной оператор, как «затем» и «:» как еще. Таким образом, ваш код будет:

return if(n > 0) then ninja.yell(n-1) + "a" else "hiy"; 

Надеюсь, вы получите его сейчас!

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