Object 생성 방법에 대해 질문입니다.
183
작성한 질문수 10
리터럴 방식 또한 인스턴스를 생성한다는게 이해가 가지 않습니다.
저는 지난강의 때문에 리터럴 방식이 당연히 인스턴스를 생성하지 않는다고 생각했거든요
지난 강의(length값이 반환되는 논리 편)의 예제입니다.
var value = "ABC";
console.log(value.length);
엔진이 value.length 를 만나면 내부에서 new String("ABC")을 하게되며 생성한 인스턴스의 length 값인 3을 반환한다고 하셨는데요.
만약 리터럴이 인스턴스를 생성한다면 굳이 내부에서 new String("ABC")로 또 한번 인스턴스를 생성할 필요가 없지않나요?
그리고 리터럴 방식이 인스턴스가 맞다면 value에 length라든가 이런저런 함수들이 있어야하는데 개발자도구 local 부분에서 value변수는 더이상 전개 불가했습니다.
어떻게 된건지 궁금합니다..!
답변 1
1
"ABC"는 문자열 값이지 리터럴이 아닙니다. var obj = { }를 Object 리터럴이라하고, var list = [ ]를 Array 리터럴이라고 합니다. 이것은 new Object(), new Array()와 같습니다.
value.split("")일 때 내부에서 String 인스턴스를 만들어 split()를 실행합니다. 왜냐하면 메소드가 속한 오브젝트가 있어야 메소드를 실행할 수 때문입니다. 이때 생성한 인스턴스를 반환합니다.
value.length 형태도 내부에서 인스턴스를 생성합니다. 왜냐하면 오브젝트에 속한 length 값을 반환할 수 있기 때문입니다. Array 오브젝트의 length는 엘리먼트 수를 반환하고 String 오브젝트의 length는 문자 수를 반환합니다. 이때 생성한 인스턴스를 반환하지 않고 값을 반환합니다.
프론트엔드 부트캠프 가기 전, 짧은 감사 인사드립니다!
2
109
2
섹션10 3. Object 프리미티브 값 구하기에서 질문있습니다.
1
148
2
섹션3의 1강 연산자, 표현식 강의에서 표현식 질문이 있습니다.
0
140
2
섹션 1. 6번째 강의 질문입니다.
1
246
1
선생님 Objcet 질문 있습니다.
0
299
2
forEach문을 활용한 코딩시간 풀이
0
616
1
sort 코딩 시간 풀이
0
292
1
코딩 시간 풀이 올려봅니다.
0
229
1
인덱스 코딩시간 문제풀이
0
381
1
for문 코딩 시간 답제출
0
306
1
3:39 sort에 들어가서 one,two 파라미터질문입니다.
0
194
0
퀴즈 질문 및 정답
0
356
1
오브젝트
0
283
1
인스턴스 목적
1
239
1
[코딩시간 01] 3항 연산자로 작성했을 때, 각 값..?
0
269
1
Undefined === Null; // true???
0
194
1
indexOf의 파라미터에 음수를 작성 했을때에 대한 질문입니다.
0
1031
5
length 값 변환 논리에 대한 질문입니다.
0
211
1
상수 변수 선언에 대해
0
235
1
코딩 시간 (for문) 풀이
0
255
1
Object vs object
1
498
1
코딩 시간 풀이입니다.
0
195
1
log(add(1, 2, 3, 4));
0
177
1
코딩시간 답 제출
0
196
1





