[javascript] 표현식(Expression)과 문장(Statement)의 실행 컨텍스트 동작 차이는 무엇인가?

자바스크립트에서 표현식문장은 모두 프로그램을 실행하기 위한 기본적인 구성 요소입니다. 하지만 두 요소 간에는 실행 컨텍스트에서의 동작에 차이가 있습니다.

표현식(Expression)의 실행 컨텍스트 동작

표현식이 실행되면 그 결과가 즉시 평가되고 값으로 해석됩니다. 실행 컨텍스트에서 표현식의 값이 나오면, 해당 값은 변수에 할당되거나 다른 표현식에 사용될 수 있습니다. 예를 들어, 다음과 같은 코드에서 x + y 라는 표현식은 실행 시에 값을 평가하고, 그 결과가 total 변수에 할당됩니다.

let x = 5;
let y = 10;
let total = x + y; // 표현식의 값은 즉시 평가되어 total에 할당됨

문장(Statement)의 실행 컨텍스트 동작

반면에, 문장은 어떠한 작업을 수행하기 위한 것으로, 프로그램의 상태를 변경하거나 제어 흐름을 조절하기 위해 사용됩니다. 실행 컨텍스트에서 문장을 실행하면, 프로그램의 상태나 환경이 변경됩니다. 예를 들어, 다음 코드에서 if 문은 특정 조건에 따라 코드 블록을 실행하는데, 이것이 문장의 실행 동작에 해당합니다.

let score = 80;
if (score >= 70) {
  console.log('Pass'); // if 문은 특정 조건에 따라 코드 블록을 실행
} else {
  console.log('Fail');
}

결론

표현식과 문장은 모두 프로그램을 구성하기 위한 중요한 요소이지만, 실행 컨텍스트에서의 동작은 다릅니다. 표현식은 값으로 평가되고, 값을 반환하지만, 문장은 프로그램의 상태나 제어 흐름을 변화시킵니다.

이러한 동작 차이를 이해하면 프로그램의 실행 흐름을 더욱 명확히 이해하고, 오류를 피하기 쉬워집니다.

참고 자료