인스턴스 생성 가능 여부 기준에 대하여.
prototype 값 존재 여부가 인스턴스 생성 가능 여부를 결정한다고 설명하셨는데 다음과 같은 코드가 동작하는 이유는 무엇인가요?
function Test() {};
Test.prototype = undefined;
var t = new Test(); // 객체 생성
console.log(t); // 객체 출력
답변 1
3
Test.prototype = undefined;
==> Test.prototype이 존재하지 않는 것이 아니라 prototype이 존재하는 것입니다. undefined가 값이므로 prototype을 지우는 것이 아니라 prototype이 프로퍼티 이름이 되고 undefined가 프로퍼티 값이 됩니다. Math, JSON 오브젝트는 prototype 자체가 없으며 이러한 오브젝트는 new 연산자를 만들 수 없습니다.
추가해서 prototype에 null을 할당하면 더 이상 prototype에 메소드를 연결하지 않겠다는 의도입니다. undefined를 설정하지는 않습니다.
--------------------
"prototype 값 존재 여부"가 아니라 "값"을 제외한 "prototype 존재 여부"가 정확한 표현입니다.
0
prototype을 {key: value} 형태에서 보면 {prototype: {key: value}} 형태가 되므로 key라고 할 수는 있습니다. 하지만 {book: "자바스크립트"}처럼 일반적인 프로퍼티 키가 아니라 특수 목적을 갖고 있습니다. 뒤에서 다루므로 이 시점에서는 이 정도만 이해하셔도 되겠습니다.
프론트엔드 부트캠프 가기 전, 짧은 감사 인사드립니다!
2
109
2
섹션10 3. Object 프리미티브 값 구하기에서 질문있습니다.
1
148
2
섹션3의 1강 연산자, 표현식 강의에서 표현식 질문이 있습니다.
0
140
2
섹션 1. 6번째 강의 질문입니다.
1
247
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
499
1
코딩 시간 풀이입니다.
0
195
1
log(add(1, 2, 3, 4));
0
179
1
코딩시간 답 제출
0
196
1





