선생님 안녕하세요 질문있습니다.
213
작성한 질문수 4
좋은 강의 잘 보고 있습니다. 감사합니다.
25초쯤에 Object 오브젝트 형태는 인스턴스를 생성할 수 없다고 하셨는데.. 이전 강의 Object 오브젝트(ES3) 1번 강의에서는 { } 리터럴이나 new 연산자도 인스턴스를 생성한다고 하셨습니다. new연산자를 사용했으므로 abc인스턴스라고 부르고 아래의 obj는 오브젝트로 부른다고 하셨었는데요..(아래 사진)
이 부분이 약간 헷갈립니다 ㅠ 말이 다른건지.. 제가 이해를 잘 못하고 있는건지.. 오브젝트와 인스턴스를 구분하기위해서 저렇게 말씀하신걸로 이해하면 될까요?
답변 1
1
많이 생각한 좋은 질문입니다.
var obj = {} 형태처럼 Object 리터럴을 작성하면, 자바스크립트 엔진이 코드를 해석하면서 인스턴스를 생성합니다. 즉, 개발자가 new 연산자로 인스턴스를 만드는 것과 같은 것을 엔진이 합니다.
아래 코드는 Object 리터털에 함수를 작성한 형태이며, 이 형태는 이미 sports 인스턴스를 생성한 상태이므로 new sports()로 인스턴스를 생성하지 못합니다.
new sports()를 실행하면 에러가 발생하며 이유는, new 연산자가 { } 안의 constructor를 호출하게 되는데 { }에 constructor가 없기 때문입니다.
sports.getItem() 형태로 작성해야 getItem() 함수가 호출됩니다. 이 형태를 강좌에서 메소드가 아니라 함수로 부릅니다.
var sports = {
item: "축구",
getItem: function(){
return this.item;
}
};
console.log(sports.getItem());
0
아.. 선생님 감사합니다. 이미 인스턴스가 있기때문에 다시 인스턴스를 생성하지 못한다는 뜻이였군요. 1회독으로는 애매모호했던 것들이 매번 반복해서 볼때마다 하나씩 이해되는 느낌입니다.
프론트엔드 부트캠프 가기 전, 짧은 감사 인사드립니다!
2
123
2
섹션10 3. Object 프리미티브 값 구하기에서 질문있습니다.
1
172
2
섹션3의 1강 연산자, 표현식 강의에서 표현식 질문이 있습니다.
0
160
2
섹션 1. 6번째 강의 질문입니다.
1
265
1
선생님 Objcet 질문 있습니다.
0
308
2
forEach문을 활용한 코딩시간 풀이
0
625
1
sort 코딩 시간 풀이
0
300
1
코딩 시간 풀이 올려봅니다.
0
235
1
인덱스 코딩시간 문제풀이
0
389
1
for문 코딩 시간 답제출
0
314
1
3:39 sort에 들어가서 one,two 파라미터질문입니다.
0
199
0
퀴즈 질문 및 정답
0
365
1
오브젝트
0
292
1
인스턴스 목적
1
249
1
[코딩시간 01] 3항 연산자로 작성했을 때, 각 값..?
0
277
1
Undefined === Null; // true???
0
200
1
indexOf의 파라미터에 음수를 작성 했을때에 대한 질문입니다.
0
1041
5
length 값 변환 논리에 대한 질문입니다.
0
220
1
상수 변수 선언에 대해
0
241
1
코딩 시간 (for문) 풀이
0
261
1
Object vs object
1
509
1
코딩 시간 풀이입니다.
0
204
1
log(add(1, 2, 3, 4));
0
186
1
코딩시간 답 제출
0
202
1





