[JS] 표현식과 문

vSsongv·2021년 11월 24일
0

JS

목록 보기
3/40
post-thumbnail

✅ 값 (Value)

  • 값은 표현식이 평가되어 생성된 결과를 말한다.
  • 평가는 식을 해석해서 값을 생성하거나 참조하는 것을 의미한다.
  • 변수에는 값이 할당된다.
var a = 10 + 20; 
//10 + 20은 평가되어 30을 생성한다.
//a변수에 할당되는 것은 평가된 결과값 30이다.

✅ 리터럴 (literal)

  • 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법.
// 숫자 리터럴
10.50
1001

// 문자열 리터럴
'Hello'
"World"

// 불리언 리터럴
true
false

// null 리터럴
null

// undefined 리터럴
undefined

// 객체 리터럴
{ name: 'Lee', gender: 'male' }

// 배열 리터럴
[ 1, 2, 3 ]

// 정규표현식 리터럴
/ab+c/

// 함수 리터럴
function() {}
  • 숫자, 문자열, 불리언과 같은 원시 타입의 리터럴은 다양한 연산자의 피연산자가 되어 하나의 값으로 평가될 수 있다.

✅ 문 (statement)

  • 프로그램을 구성하는 기본 단위이자 최소 실행 단위.
  • 문은 여러 토큰으로 이루어진다. 토큰 : 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소.
	var sum = 1 + 2; //var, sum, =, 1, 2 ; 모두 토큰이고 한 줄이 문이다.

✅ 표현식 (expression)

  • 값으로 평가될 수 있는 문.
  • 표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조한다.
  • 값(리터럴), 변수, 객체의 프로퍼티, 배열의 요소, 함수 호출, 메소드 호출, 피연산자와 연산자의 조합은 모두 표현식이며 하나의 값으로 평가(Evaluation)된다.
	// 표현식
	'hello'		// 리터럴 표현식
	5		// 리터럴 표현식
	5 * 10		// 연산자 표현식
	sum = 10 + 10 // 연산자 표현식
	x = x + 1 // 연산자 표현식
	square()	//함수 표현식
	sum		//식별자 표현식
    	var x = 1 + 2;
	x + 3 // 6. x가 숫자로 평가될 수 있는 표현식이기 때문

✅ 표현식인 문과 표현식이 아닌 문

  • 표현식은 값으로 평가될 수 있기 때문에 값으로 평가될 수 없다면 표현식이 아니다.
  • 표현식은 문의 일부일 수도 있고 그 자체로 문이 될 수도 있다. x = 1 + 2 - ⭕
  • ❗ 변수 선언문은 값으로 평가될 수 없으므로 표현식이 아니다. var a; - ❌
  • ❗ 할당문은 표현식이다. a = 3; - ⭕
  • 표현식을 구별하는 가장 간단한 방법은 변수에 할당해보는 것이다.

<모던 자바스크립트 deepdive와, 추가 탐구한 내용을 정리한 포스트입니다.>

profile
wanna be bright person✨ Front-End developer

0개의 댓글