Как условно добавить атрибуты в компоненты React?

Прежде всего: Comma на самом деле не является оператором, для компилятора это просто токен, который получает смысл в контексте с другими токенами.

Что это значит и зачем беспокоиться?

Пример 1:

Чтобы понять разницу между значением одного и того же токена в другом контексте, мы рассмотрим этот пример:

class Example {
   Foo ContentA;
}

Обычно начинающий C ++ думал, что это выражение могло бы / было бы сравнивать вещи, но оно абсолютно неверно, значение [to fc], > и , в контексте использования.

Правильная интерпретация приведенного выше примера, конечно, является установлением шаблона.

Пример 2:

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

for(a=5,b=0;a<42;a++,b--)
   ...

Значение запятой зависит от контекста использования, здесь оно контекст конструкции for. [/ g 12]

Что означает запятая в контексте?

Чтобы усложнить ее еще больше (как всегда на C ++), оператор запятой может быть перегружен (благодаря Konrad Rudolph для указания на это.)

Чтобы вернуться к вопросу, код

a = b, c;

означает для компилятора нечто вроде

(a = b), c;

, потому что приоритет токена / оператора = выше приоритета маркера ,.

, и это интерпретируется в контексте, как

a = b;
c;

(обратите внимание, что интерпретация зависит от контекста, здесь она не является вызовом функции / метода или статированием шаблона.)

406
задан Remi Sture 1 July 2015 в 14:07
поделиться