Я бездельничал с использованием запятой в операциях короткого замыкания:Как узнать, разделяет ли запятая параметры или является частью функции стрелки?
let component = { on: (p1, p2, p3) => console.log(p1, p2, p3) };
component.on('something',() => console.log('what do'), '???');
кажется неоднозначным '???'
, является ли параметр или нет
Есть ли какие-то правила по этому поводу?
Спасибо!
let canTry = true;
while (canTry --> false) {
console.log(('leet hax','your mom'));
}
The order of operations, кажется, не поможет, так как она не описывает PARAMS
Спецификация ECMAScript включает в себя формальную грамматику, которая описывает, как такие вещи, как это должно быть разобрано. Я не помню точных правил, но запятые имеют тенденцию быть очень «низкоприоритетными», обычно применяя к внешним/большим группам. В этом случае запятая находится вне функции стрелки. –
Вероятно, поэтому люди поощряют использование фигурных скобок со стрелочными функциями, например.() => {component.off ('something'); } – Paul
@JeremyBanks Фактически внутри функции стрелки – neaumusic