the murmurous sea

JS: Literal (incompleted) 본문

#dev/개념정리

JS: Literal (incompleted)

lunacer 2020. 5. 27. 20:14

Literals represent values in JavaScript. These are fixed values—not variables—that you literally provide in your script. This section describes the following types of literals:

 

 

An array literal is a type of object initializer

 

‘리터럴’은 변수에 할당하는 고정 형태의 값

표기한 문자가 있는 그대로 자신을 나타내는 값이죠. 변수가 자신의 이름과 자신이 가리키는 값이 다를 수 있고, 얼마든지 값을 편집할 수 있는 것과 대조됩니다.

반면 생성자는 일종의 함수입니다. 객체의 초기화를 담당하는 함수죠. 리터럴과 달리 구현의 과정과 결과물은 함수 안에 숨겨져 있어 확인하기 어렵습니다. 어떤 인자가 들어가냐에 따라 사이드 이펙트를 발생시키기도 하죠.
생성자 함수로 객체를 만들면 지역 유효범위에 동일한 이름의 생성자가 있는지 Object()를 호출한 위치부터 전역 Object 생성자까지 인터프리터가 거슬러 올라가며 유효범위를 검사하게 된다고 합니다.

배열 리터럴로 배열을 만들 때 3을 넣으면 3이라는 값을 요소로 하는 배열이 만들어집니다. 반면 생성자로 배열을 만들면 3은 배열 요소의 갯수를 가리키게 되며, 3칸의 공간이 있는 빈 배열이 만들어집니다. 이때 만들어진 배열의 빈 공간은 fill() 함수로만 채울 수 있습니다. 비효율적이죠.

var tigers = [...new Array(11).keys()];
console.log(tigers);
// [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]

@

www.huskyhoochu.com/literal-and-constructor/


https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Grammar_and_types

https://stackoverflow.com/questions/20998159/what-is-the-meaning-of-literal-in-the-phrase-object-literal-notation

'#dev > 개념정리' 카테고리의 다른 글

JS: EventTarget.addEventListener() (empty)  (0) 2020.06.03
JS ES6: Functions hoisting check  (0) 2020.06.03
Git : 생활코딩 요약  (0) 2020.05.22
Progressive Web App (PWA)  (0) 2020.05.22
pjax  (0) 2020.05.21
Comments