[JS Statement(문)]

Chanki Hong·2022년 11월 28일
0

JavaScript

목록 보기
2/30
post-thumbnail

문(statement)

  • 문(statement)은 프로그램의 기본 단위이고 최소 실행 단위.
  • 프로그램은 문의 집합이고 프로그래밍은 문을 작성, 순서에 맞게 나열하는 것.
  • JS에서는 보통 문(statement)의 끝에 ; (세미콜론)을 붙임.
  • 한 줄의 문은 ; (세미콜론)을 붙이지 않아도 문제 없지만, 관례적으로 붙임.
  • 문은 토큰(문법적으로 더 이상 나눌 수 없는 코드의 기본 요소)으로 구성.
var x = 10;
// 토큰: var, x, =, 10, ; 총 5개.

표현식이 아닌 문(statement)

  • 일종의 지시.
    • "당신의 일은 볼트에 너트를 끼우는 일입니다."
  • 결합할 수 없음. (또한 할당이 불가능 함)
// 선언문이 표현식이 아닌 문인 이유. 값이 아니기 때문에 할당이 불가.
const x = const y; // SyntaxError: Unexpected token 'const'
let x = let y; // SyntaxError: Unexpected identifier

블록문(block statement)

  • 복합문(compound statement)이라고도 함.
  • 여러개의 {} (중괄호)로 묶은것.
  • 주로 제어문과 함께 쓰임.
  • 제어문 없이 블록문만 써도 되지만 무의미한 경우가 많음.
  • 블록문과 블록 아닌 문을 섞어 쓰는 것은 금지.

예외문

  • 문의 실행방식을 바꿈. (일종의 조커)
  • 불필요한 연산 줄이기에 효과적.
  • return: 문을 무시하고 현재 문을 빠져나감.
  • break: 문의 실행 중간에 빠져나감.(stop)
  • continue: 문에서 다음 단계로 건너뜀.(skip)
  • throw: 예외 핸들러에서 반드시 처리해야 할 예외(exception). 제어문 밖에 있어도 무관.
// continue 예시
for (let i = 0; i < 5; i++) {
  if (i === 2) continue;
  console.log(i); // 0 1 3 4
} // i가 2인 순간 바로 skip하여 3으로 넘어감.

// break 예시
for (let i = 0; i < 5; i++) {
  if (i === 2) break;
  console.log(i); // 0 1
} // i가 2인 순간 바로 stop.

제어문(control statement)

표현식(expression)

  • 결과가 값(value)으로 평가(반환)되는 문. (일종의 요청; 값이 되는 모든 것)
    • "볼트에 너트를 끼우고 가져오세요."
  • 표현식은 문(statement)의 일부일 수도 있고, 그 자체가 문 일수도 있음.
  • 표현식은 값이 되기 때문에 다른 표현식과 결합해 다른 값을 받을 수 있음.
  • 할당 또한 가능. (문은 식별자 등에 할당 불가)
let x, y; // 선언문.
y = x = 3 * 5; // 표현식인 문. ;의 사용은 문을 의미함.

// 두 번째 행의 실행 과정
y = x = 3 * 5; // 원래 문.
y = x = 15; // 곱셈 표현식 평가.
y = 15; // 첫 번째 할당 평가. x는 15, y는 아직 undefined.
15; // 두 번째 할당 평가. y는 15.
// 전체 문의 결과는 15. 이 값은 사용하거나 할당하지 않고 버려짐.

연산자(operator) 표현식

  • 표현식의 대부분은 연산자(operator) 표현식.
  • 곱셈 표현식에서 * (곱셈 연산자)는 표현식.
  • 연산자(operator)에 대한 내용.

식별자 표현식

  • 식별자도 값을 명시적으로 반환.

리털럴 표현식

  • 값을 명시적으로 반환.
  • 값(value)을 지정하는 방법이거나 값을 이루고 있는 자체.
  • 값을 이루는 최소 단위
  • 곲셈 표현식에서 피연산자(operand; 곱하는 두 숫자)는 리터럴 표현식.

0개의 댓글