options.domain ? '; domain=' + options.domain : '',
Может кто-нибудь объяснить мне, что цель положить? после options.domain. Я знаю, что это просто. но я немного новичок в JS.Синтаксис Java Script
options.domain ? '; domain=' + options.domain : '',
Может кто-нибудь объяснить мне, что цель положить? после options.domain. Я знаю, что это просто. но я немного новичок в JS.Синтаксис Java Script
Это называется ternary operator
?:
(одиночная линия if..else
заявление)
Синтаксис:
var variableName = testCondition ? op1 : op2;
Я думаю, вы пропустили назначенный переменной
var dom = options.domain ? '; domain=' + options.domain : '';
эквивалентно
if (options.domain) {
dom = '; domain=' + options.domain
}
else {
dom = '';
}
Это известно как тройной оператор, по существу, они эквивалентны:
// Item 1
var x = options.domain ? '; domain=' + options.domain : '';
// Item 2
var x;
if (options.domain) {
x = '; domain=' + options.domain;
} else {
x = '';
}
троичный оператор похож на простой, если другое заявление, как:
condition ? option1 : option2 ;
является аналогично
if(condition)
{
option1;
}
else
{
option2;
}
Это аналогичный тип заявления if
.
return condition ? x : y;
троичной логики оператор является процесс использования "(condition) ? (true return value) : (false return value)"
заявления укоротить если/другое конструкции.
Это называется ternary operator
. Он возвращает одно из двух выражений в зависимости от условия.
Синтаксис:
test ? expression1 : expression2
тест:
Любое логическое выражение.
выражение1:
Выражение возвращается, если тест верно. Может быть запятой.
выражения2:
Выражение возвращается, если тест является ложным. Более чем одно выражение может быть связано с выражением запятой.
Возможный дубликат [javascript? : нотация] (http://stackoverflow.com/questions/3322704/javascript-notation) –