본문 바로가기

FrontEnd/Javascript

리터럴(Literal)이란?

아래 출처의 리터럴에 대한 정의는 잘못되었다. 리터럴은 값, 데이터가 아니라 값을 생성하는 표기방식이다.

상수의 정의 또한 잘못되었다. 상수를 재할당이 금지된 변수다.

아래출처 보지말것.

출처: https://velog.io/@me2designer/%EB%A6%AC%ED%84%B0%EB%9F%B4Literal%EC%9D%B4%EB%9E%80

요약: 리터럴이란 값을 생성하는 표기방식이다. 상수란 변하지 않는 변수이다.

 

리터럴(Literal)을 알려면 상수(constant)를 같이 알고 둘을 구분할 수 있어야 한다.

상수(constant)란?

재할당이 금지된 변수

  • 상수에 넣는 데이터로는 숫자만 오는 것이 아니라 클래스나 구조체 같은 객체도 올 수 있다.
  • 참조변수를 상수로 지정할 때, 참조변수 안의 속성의 데이터까지도 변하지 않는다고 생각할 수 있지만, 참조변수 메모리의 주소값이 변하지 않는다는 의미일 뿐, 그 주소가 가리키는 데이터들은 변할 수 있다.
    const obj = { name: 'me2designer', age: '40' }
    obj = [ 'apple', 'banana' ]; // 오류
    obj.age = 41;
    console.log(obj) // {name: 'me2designer', age: '41'}


리터럴(Literal)이란?

리터럴은 값을 생성하는 표기방식을 의미.

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  


정리

상수는 메모리 위치(공간)이며, 메모리 값을 변경할 수 없다. 상수란 재할당이 금지된 변수이다.
리터럴은 값을 생성하는 표기방식이다.