​ ​
표현식과 문
Javascript

표현식과 문

1. 값

  • 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 (또는 그 공간을 식별하기 위해 붙인 이름)인데, 이 변수에 할당되어 저장되는 것을 값이라 한다.
  • 값(value)은 식이 평가 되어 생성된 결과를 말한다. 평가는 식을 해석해서 값을 생성하거나 참조하는 것을 의미한다.

 

2. 변수에 저장할 수 있는 값 = 데이터 타입

  • 모든 값은 데이터 타입을 가지며, 메모리에 2진수, 즉 비트의 나열로 저장된다. 메모리에 저장된 값은 데이터 타입에 따라 다르게 해석될 수 있다. 예를 들어, 메모리에 저장된 값 0100 001을 숫자로 해석하면 65이지만 문자로 해석하면 'A'다.
  • 다음은 7가지의 데이터 타입이다.
    1. 숫자형 (Number) : 정수와 실수 값을 구분하지 않음
    2. 문자형 (String) : 작은/큰 따옴표 쌍으로 문자열을 둘러싸서 표
    3. 논리형 (Boolean) : 참(true)/거짓(false)의 값으로 표현
    4. null : 값이 아직 없다는 의미
    5. undefined : 변수는 선언되었으나 값이 할당된 적이 없는 상태를 의미
    6. 함수 (function) : 객체 프로퍼티에 할당될 수 있는 실행 가능한 코드를 가짐
    7. 객체 (object) : 이름이 붙은 값들의 모임

 

3. 리터럴

  • 리터럴(Literal) : 프로그램 코드 상에 데이터 값을 표현하는 방식으로, 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기방식을 말한다.
  • 즉, 리터럴은 값을 생성하기 위해 미리 약속한 표기법이다.

 

4. 표현식 (expression)

  • 표현식은 자바스크립트 엔진에 의해 값으로 평가되는 구문(statement)이다. 표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조한다. 즉, 값으로 평가되는 문(statement)은 모두 표현식이다. 값으로 평가되지 않는 문은 표현식이 아니다.
  • 표현식인 문과 표현식이 아닌 문을 구별하는 가장 간단하고 명료한 방법은 변수에 할당해 보는 것이다. 표현식인 문은 값처럼 사용할 수 있지만, 표현식이 아닌 문은 값처럼 사용할 수 없다.
1. 리터럴 표현식 : 10, 'Hello'
2. 식별자 표현식 : sum, person.name, arr[1]
3. 연산자 표현식 : 10+20, sum=10
4. 함수/메서드 호출 표현식 : square(), person.getName()

 

 

5.  문

  • 문(statement)은 프로그램을 구성하는 기본 단위이자 최소 실행 단위이다. 문의 집합으로 이루어진 것이 프로그램이며, 문을 작성하고 순성에 맞게 나열하는 것이 프로그래밍이다.
  • 자바스크립트에서 코드를 문자로 인식 가능하면 모두 문이라고 볼수 있다. 문자로 인식 가능하지 않다면 자바스크립트 파일도 만들 수 없으므로 결과적으로 자바스크립트 파일 내의 모든 것은 문이다.
  • 문은 여러 토큰으로 구성된다. 토큰(token)이란 문법적으로 더 이상 나눌수 없는 코드의 기본 요소를 의미한다. 문은 선언문, 할당문, 조건문, 반복문 등으로 구분할 수 있다. 이 각각의 문은 이름처럼 동작한다.
변수 선언문 => var x, let y, const z
할당문 => x = 5
함수 선언문 => function yoo () {}
조건문 => if(x > 1) { console.log(x);}
반복문 => for (var i =0; i <2; i++) {console.log(i);}

 

 

6.  세미콜론과 세미콜론 자동 삽입 기능

  • 세미콜론(;)은 문의 종료를 나타낸다. 문을 끝낼 때는 세미콜론을 붙여야 한다. 즉, 자바스크립트 엔진은 세미콜론으로 문이 종료한 위치를 파악하고 순차적으로 하나씩 문을 실행한다.
  • 단, 0개 이상의 문을 중괄호로 묶은 코드 블록 ({...}) 뒤에는 세미콜론을 붙이지 않는다. 예를 들어 if문, for문, 함수 등의 코드 블록 뒤에는 세미 콜론을 붙이지 않는다. 이러한 코드 블록은 언제나 문의 종료를 의미하는 자체 종결성을 갖기 때문이다.
  • 문의 끝에 붙이는 세미콜론은 생략 가능하다. 이는 자바스크립트 엔진의 세미콜론 자동 삽입 기능이 암묵적으로 수행되기 때문이다.

'Javascript' 카테고리의 다른 글

데이터 타입 (Data Type)  (0) 2021.06.21
호이스팅 (Hoisting)  (0) 2021.06.20
변수와 식별자  (0) 2021.06.14