Почему я не могу использовать выражение(expresssion) в качестве параметра функции?
Прочитав эту статью, я вроде бы как поняла разницу между инструкцией и выражением.
- Инструкция(statement) описывает какой-то набор действий, который необходимо выполнить.
- Выражение(expression) - это фрагмент кода любой длины, который в ходе своего выполнения, приводит к вычислению и возврату некоторого одного значения.
Дальше здесь говорится, что...
Выражение может находится везде, где Javascript ожидает какое-то значение. Например, выражение может выступать в качестве параметра функции.
Хорошо. Почему тогда если let a = 5 является выражением, я не могу его использовать в качестве параметра функции? Какие здесь еще есть правила, о которых я не знаю?
console.log(let a = 5); //SyntaxError
Ответы (1 шт):
Автор решения: Grundy
→ Ссылка
let a = 5 - является LexicalDeclaration
В то время, как аргументы функции представляют из себя список из AssignmentExpression
Таким образом данный кусок кода нельзя использовать в качестве параметра при вызове функции.