표현식과 문
값
값은 표현식이 평가되어 생성된 결과를 말합니다.
여기서 평가란 식을 해석해서 값을 생성하거나 참조하는 것을 의미합니다.
리터럴
리터럴은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법을 말합니다.
자바스크립트 엔진은 코드가 실행되는 시점인 런타임에 리터럴을 평가해 값을 생성합니다.
표현식
표현식은 값으로 평가될 수 있는 문입니다. 즉, 표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조합니다.
문
문은 프로그램을 구성하는 기본단위이자 최소 실행 단위입니다.
문은 여러 토큰으로 구성되는데 토큰이란 문법적인 의미를 가지며, 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소를 말합니다.
예를 들어 키워드, 식별자, 연산자, 리터럴, 세미콜론이나 마침표 등의 특수기호는 문법적인 의미를 가지며
문법적으로 더 이상 나눌 수 없는 코드의 기본 요소이므로 모두 토큰입니다.
문은 명령문이라고도 부릅니다. 즉, 문은 컴퓨터에 내리는 명령입니다!
문은 선언문, 할당 문, 조건문, 반복문 등으로 구분할 수 있습니다.
세미콜론은 문의 종료를 나타내는데 단 0개 이상의 문을 중괄호로 묶은 코드 블록 ({}) 뒤에는 세미콜론을 붙이지 않습니다.
예를 들어 if문 for문 함수 등의 코드 블록 뒤에는 세미콜론을 붙이지 않습니다.
이러한 코드 블록은 언제나 문의 종료를 의미하는 자체 종결 성을 갖기 때문입니다.
문에는 표현식인 문과 표현식이 아닌 문이 있습니다. 표현식인 문은 값으로 평가될 수 있는 문이며,
표현식이 아닌 문은 값으로 평가될 수 없는 문을 말합니다.
var x; // 변수 선언문은 값으로 평가할 수 없으므로 표현식이 아닙니다.
x = 1+2 // 1,2,1,+2, x=1+2는 모두 표현식입니다.
//따라서 x = 1 + 2는 표현식이면서 완전한 문입니다.
표현식인 문과 표현식이 아닌 문을 구별하는 가장 간단한 방법은 변수에 할당해 보는 것입니다.
표현식인 문은 값으로 평가되므로 변수에 할당할 수 있지만 표현식이 아닌 문은 값으로 평가할 수 없으므로
변수에 할당하면 에러가 발생합니다.
var x; // 변수 선언문은 값으로 평가할 수 없으므로 표현식이 아닙니다.
x = 1+2 // 1,2,1,+2, x=1+2는 모두 표현식입니다.
//따라서 x = 1 + 2는 표현식이면서 완전한 문입니다.
오늘은 생활코딩 이 고잉님의 리액트 리덕스 강의와 모던 자바스크립트 책에서 자바스크립트 공부를 하였습니다.
리액트 리덕스가 아직은 어렵게 느껴져서 보게 되었고 아직 정확하게 파악이 되진 않았지만
어떻게 흐름이 흘러가는지 파악할 수 있게 되었습니다!
또한 모던 자바스크립트 책을 통해서 자바스크립트에 대한 공부를 하는 것은 어제부터 시작 중인데
정말 많은 도움이 되는 것 같습니다.
아직 기본적인 부분이지만 제가 놓치고 있던 부분이 많았고 정말 많이 반성했습니다!
앞으로도 열심히 공부해서 놓치는 부분들을 파악하고 수정하여
좋은 개발자가 되기 위해 노력하겠습니다!!
다들 파이팅!
👍👍👍✍️✍️✍️
'자바스크립트' 카테고리의 다른 글
TIL] 제어문 (0) | 2021.07.14 |
---|---|
TIL] 연산자 (0) | 2021.07.14 |
TIL] 데이터 타입 (0) | 2021.07.13 |
TIL] 프로그래밍과 변수 (0) | 2021.07.11 |
TIL] 자바스크립트 기초 문법 (0) | 2021.06.25 |