리터럴(literal)은 고정된 값 자체를 의미한다.
즉, 변수나 계산이 아닌 코드에 직접 작성된 값을 말한다.
let num = 10; // 숫자 리터럴 10
let str = "hello"; // 문자열 리터럴 "hello"
let flag = true; // 불리언 리터럴 true
위 예시에서 10, "hello", true는 모두 리터럴이다.
let a = 42; // 정수
let b = 3.14; // 실수
let c = 0b1010; // 2진수 (0b 또는 0B)
let d = 0o755; // 8진수 (0o 또는 0O)
let e = 0xFF; // 16진수 (0x 또는 0X)
let s1 = "hello";
let s2 = 'world';
let s3 = `template ${s1}`; // 템플릿 리터럴 (백틱 사용)
", 작은 따옴표 ', 백틱 ̀ 모두 문자열 정의 가능let isActive = true;
let isComplete = false;
let empty = null;
let notSet; // 선언만 하고 초기화하지 않으면 undefined
let person = {
name: "Alice",
age: 30
};
{}를 사용해 키-값 쌍으로 구성let list = [1, 2, 3, 4];
[]를 사용해 값의 순서대로 나열let regex = /ab+c/i;
/패턴/플래그 형식let sym = Symbol("id");
| 구분 | 예시 | 설명 |
|---|---|---|
| 리터럴 | "hello" | 고정된 값 자체 |
| 표현식 | a + b, 2 * 3 | 계산 또는 평가되는 코드 |
즉, 리터럴은 평가할 필요가 없는 값, 표현식은 평가하면 결과가 나오는 코드이다.
| 종류 | 예시 |
|---|---|
| 숫자 | 42, 3.14, 0xFF |
| 문자열 | "hello", 'world', `a` |
| 불리언 | true, false |
| null | null |
| undefined | undefined (주로 자동 할당) |
| 객체 | { name: "Alice" } |
| 배열 | [1, 2, 3] |
| 정규식 | /abc/ |
| 심볼 | Symbol("id") |