리터럴(Literal)을 알려면 상수(constant)를 같이 알고 둘을 구분할 수 있어야 한다.
상수는 변하지 않는 변수를 뜻한다.
const obj = { name: 'me2designer', age: '40' }
obj = [ 'apple', 'banana' ]; // 오류
obj.age = 41;
console.log(obj) // {name: 'me2designer', age: '41'}
리터럴은 데이터(값) 그 자체를 뜻한다. 즉, 변수에 넣는 변하지 않는 데이터를 의미하는 것.
const age = 40;
여기서 age는 상수이고, 40은 리터널이다.
Javascript뿐 아니라 프로그래밍 언어에 리터럴이란 용어는 널리 사용되며, 리터럴은 소스 코드의 고정된 값을 대표하는 용어라고 합니다. (아래 예시 참고)
const num = 1; // num은 상수이고 1은 10진수 정수 리터럴입니다.
let str = '이름'; // str은 변수이고 '이름'은 문자열 리터럴입니다.
const array = []; // [] = 배열 리터럴.
const object = {}; // {} = 객체 리터럴.
리터럴 | 예시 | 비고 |
---|---|---|
정수 리터럴 | 100 | |
부동소수점 리터럴 | 10.5 | |
2진수 리터럴 | 0b01000001 | 0b시작 |
8진수 리터럴 | 0o101 | ES6에서 도입. 0o로 시작 |
16진수 리터럴 | 0x41 | ES6에서 도입. 0x로 시작 |
문자열 리터럴 | 'hello' "world" | |
불리언 리터럴 | true false | |
null 릴터럴 | null | |
undefined 리터럴 | undefined | |
객체 리터럴 | { name: 'Lee', address: 'Seoul' } | |
배열 리터럴 | [ 1, 2, 3 ] | |
함수 리터럴 | function() {} | |
정규 표현식 리터럴 | /[A-Z]+/g |
코드 상에서데이터를 표현하는 방식 을 리터럴이라 하고, 객체 지향언어에서는 객체의 리터럴 표기법을 지원한다.
리터럴표기법이란, 변수를 선언함과 동시에 그 값을 지정해주는 표기법을 말한다.
// 리터럴 표기법
let string = 'jangjihun'; // 문자열 리터럴
let obj = { name: 'me2designer', age: '40' } // 객체 리터럴
상수는 메모리 위치(공간)이며, 메모리 값을 변경할 수 없다.
리터럴은 메모리 위치(공간) 안에 저장되는 값이다.