[JavaScript] 자바스크립트 기본 문법(문(statement),표현식(Expression))

2022. 6. 19. 06:15·Language/JavaScript
728x90

문(statement)

프로그램(스크립트)은 컴퓨터(Client-side Javascript의 경우, 엄밀히 말하면 웹 브라우저)에 의해 단계별로 수행될 명령들의 집합이다.

각각의 명령을 문(statement)이라 하며 문이 실행되면 무슨 일인가가 일어나게 된다.

문은 리터럴, 연산자(Operator), 표현식(Expression), 키워드(Keyword) 등으로 구성되며 세미클론(;)으로 끝나야 한다.

var x = 5;
var y = 6;
var z = x + y;

console.log(z);

문은 코드 블록(code block, {...})으로 그룹화할 수 있다. 그룹화의 목적은 함께 실행되어져야 하는 문을 정의하기 위함이다.

//  함수
function myFunction(x, y) {
	return x + y;
}

//  if 문
if(x > 0) {
	//  do something
}

//  for 문
for (var i = 0; i < 10; i++) {
	//  do something
}

문들은 일반적으로 위에서 순서대로 실행된다. 이러한 실행 순서는 조건문(if, switch)이나 반복문(while, for)의 사용으로 제어할 수 있다. 이를 흐름제어(Control Flow)라 한다. 또는 함수 호출로 변경될 수 있다.

var time = 0;
var greeting;

if (time < 10) {
	greeting = 'Good morning';
} else if (time < 20) {
	greeting = 'Good day';
} else {
	greeting = 'Good evening';
}

console.log(greeting);

다른 언어와 달리 자바스크립트에서는 블록 유효범위(Block-level scope)를 생성하지 않는다. 함수 단위의 유효범위(Function-level scope)만이 생성된다.

표현식(Expression)

표현식(Expression)은 하나의 값으로 평가(Evaluation)된다. 값(리터럴), 변수, 객체의 프로퍼티, 배열의 요소, 함수 호출, 메소드 호출, 피연산자와 연산자의 조합은 모두 표현식이며 하나의 값으로 평가(Evaluation)된다. 표현식은 결국 하나의 값이 되기 때문에 다른 표현식의 일부가 되어 조금 더 복잡한 표현식을 구성할 수도 있다. 아래의 예에서 5 * 10은 50으로 평가(연산)된다.

// 표현식
5              // 5
5 * 10         // 50
5 * 10 > 10    // true
(5 * 10 > 10) && (5 * 10 < 100)  // true

문과 표현식의 비교

자연어에서 문(Statement)이 마침표로 끝나는 하나의 완전한 문장(Sentence)이라고 한다면 표현식은 문을 구성하는 요소이다. 표현식은 그자체로 하나의 문이 될 수도 있다.

// 선언문(Declaration statement)
var x = 5 * 10;  // 표현식 x = 5 * 10를 포함하는 문이다.
// 할당문(Assignment statement)
x = 100;  // 이 자체가 표현식이지만 완전한 문이기도 하다.

표현식과 문은 매우 유사하며 구별이 어려울 수 있다. 표현식은 평가되어 값을 만들지만 그 이상의 행위는 할 수 없다. 문은 var, function과 같은 선언 키워드를 사용하여 변수나 함수를 생성하기도 하고 if, for, while 문과 같은 제어문을 생성하여 프로그램의 흐름을 제어하기도 한다. 표현식을 통해 평가된 값을 실제로 컴퓨터에게 명령을 하여 무언가를 하는 것은 문이다.

'Language > JavaScript' 카테고리의 다른 글

[JavaScript] 변수-기초  (0) 2022.06.28
[JavaScript] 자바스크립트 기본 문법(함수(function),객체(object),배열(array))  (0) 2022.06.19
[JavaScript] 자바스크립트 기본 문법((연산자(Operator),키워드(Keyword),주석(Comment))  (0) 2022.06.18
[JavaScript] 자바스크립트 기본 문법(변수(Variable),값(value))  (0) 2022.06.18
[JavaScript] 자바스크립트 소개  (0) 2022.06.18
'Language/JavaScript' 카테고리의 다른 글
  • [JavaScript] 변수-기초
  • [JavaScript] 자바스크립트 기본 문법(함수(function),객체(object),배열(array))
  • [JavaScript] 자바스크립트 기본 문법((연산자(Operator),키워드(Keyword),주석(Comment))
  • [JavaScript] 자바스크립트 기본 문법(변수(Variable),값(value))
arajo
arajo
  • arajo
    아라 메모장
    arajo
  • 전체
    오늘
    어제
    • 분류 전체보기 (509)
      • Language (298)
        • HTML (55)
        • CSS (11)
        • JavaScript (70)
        • TypeScript (8)
        • Python (33)
        • Java (119)
        • C (0)
        • C# (2)
      • Programming (92)
        • Programming (14)
        • Web (51)
        • Apache (1)
        • MySQL (23)
        • AWS (3)
      • Framework | Library (26)
        • Framework | Library (3)
        • Vue.js (2)
        • React.js (5)
        • React Native (4)
        • Node.js (1)
        • Ajax (1)
        • Bootstrap (8)
        • Spring (1)
        • Flutter (1)
      • etc (2)
      • 휴식 (19)
        • 책 (13)
        • 일기 (5)
        • 게임 일기 (1)
      • A (71)
        • 공부 (18)
        • 기타 (6)
        • 일 (47)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    react
    Java
    TypeScript
    리액트
    객체
    타입스크립트
    CSS
    HTML
    변수
    파이썬
    제어문
    JavaScript
    object
    자바스크립트
    array
    MySQL
    Python
    next.js
    event
    web
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
arajo
[JavaScript] 자바스크립트 기본 문법(문(statement),표현식(Expression))
상단으로

티스토리툴바