10 // 10
2 + 7 // 9
sum = 10; // 10
4 !== 5 // true
각 줄은 최소 실행 단위인 하나의 문을 나타낸다. 위에 적힌 모든 문은 모두 표현식인데, 평가되어 하나의 값으로 동치될 수 있기 때문이다.var score; // 값으로 대체될 수 없는 문
위 코드는 score라는 변수를 선언하는 문이다. 위 문은 값으로 평가될 수 없는 문이므로 표현식이 아니다. 어떤 문이 표현식인지를 확인하려면 그 문이 하나의 값으로 대체 될 수 있는지를 확인하면 된다var score = 2 + 7;
score
라는 변수를 선언하고 그에 2+7의 연산 결과를 할당하는 문이 있다고 하자. 이 문은 var
, score
, =
, 2
, +
, 7
, ;
라는 더 이상 문법적으로 나눌 수 없는 토큰들로 이루어져있고, 각 토큰들의 종류는 아래 표기된 바와 같다.var score
같은 변수 선언문을 다른 변수인 newVariable = var score
에 이와같이 대입할 수 있을까? 그럴 수 없기 때문에 위 문은 표현식이 아니다.