*아직 작성 중입니다. '문(statement)'에 대한 내용 추가 예정
자바스크립트를 배우며 맞이하게되는 용어는 자바스크립트만의 것이 아니라 컴퓨터 공학 대부분에서 사용되는 용어다.
용어에 대한 개념 이해는 개발자 간 커뮤니케이션 뿐만 아니라 문서 및 매뉴얼 작성에도 상당한 도움이 된다.
요즘 공부를 하며 용어에 대한 이해가 부족한 듯 싶어 정리하고자 한다.
개념을 이해한다는 것은 용어를 정확히 이해하고 설명할 수 있다는 것이다.
1. 값
값(value)은 식(표현식, expression)이 평가(evaluate)되어 생성된 결과를 말한다.
평가란 식을 해석해서 값을 생성하거나 참조하는 것이다.
아래 예제의 식은 평가되어 수자 값 30을 생성한다.
10+20; // 30
변수는 하나의 값을 저장하기 위해 확보된 메모리 공간 자체 또는 메모리 공간을 식별하기 위해 붙인 이름이다.
따라서 변수에 할당되는 것은 값이다.
var sum = 10 + 20; // 변수에는 10+20이 평가되어 생성된 숫자 값 30이 할당된다.
2. 리터럴
리터럴은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법을 말한다.
예를 들어 3은 숫자 리터럴 3이다. 3을 코드에 기술하면 자바스크립트 엔진은 이를 평가해 숫자 값 3을 생성한다.
(메모리에 2진수, 즉 bit의 나열로 저장된다)
3. 표현식
표현식(expression)은 값으로 평가될 수 있는 문(statement)이다.
즉, 표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조한다.
앞서 살펴본 리터럴도 값으로 평가된다. 따라서 리터럴도 표현식이다.
var score = 100;
위 예제의 100은 리터럴이다. 리터럴 100은 자바스크립트 엔진에 의해 평가되어 값을 생성하므로, 그 자체로 표현식이다.
즉, 값으로 평가될 수 있는 문은 모두 표현식이다.
// 리터럴 표현식
10
'Hello'
// 식별자 표현식(선언이 이미 존재한다고 가정!)
num
obj.name
str[1]
// 연산자 표현식
10 + 20
sum = 10
sum !== 10
// 함수/메서드 호출 표현식(선언이 이미 존재한다고 가정)
square()
obj.hasNumber()
'JavaScript' 카테고리의 다른 글
| 템플릿 리터럴(Template Literal)이란? (0) | 2024.07.05 |
|---|---|
| 리터럴(Literal)과 변수(Variable)의 차이는 무엇인가? (0) | 2024.07.05 |
| JavaScript forEach로 배열 데이터 제어 (0) | 2022.11.22 |
| 함수와 일급 객체 (0) | 2022.10.31 |
| JavaScript continue 문 (1) | 2022.10.04 |