일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- hanq
- math
- 이벤트핸들러
- continue문
- JDK
- 한큐
- Youtube 올리버쌤
- 한큐에자바
- 이벤트
- spread operator
- 자바스크립트
- position
- Step2
- break문
- javascript
- for문
- 자바
- 유뷰브 올리버쌤
- 유튜브 올리버쌤
- Event
- 전자정부프레임워크
- 삼항연산자
- 취업반
- egov
- 올리버쌤
- java
- 이클립스
- web
- array
- es6
- Today
- Total
호다닥
Day 8. protoype 본문
function, string 등 기본적인 property에 prototype 메소드를 사용하면 다른 사람들에게 혼란을 줄 수 있으므로 사용하지 않는 것이 좋다.
일반적으로 공백은 space로 입력하는 것이 좋다. tap은 사용자의 컴퓨터에 따라 띄어쓰기의 정도가 다를 수 있기 때문이다.
그 어떤 함수식보다 new가 가장 강력하기 때문에 다른 함수식을 신경쓰지 않아도 크게 상관은 없다.
빈 객체를 this로 하고, this.age를 호출하기 때문에 undefined가 뜬다.
menu UI 과제에서 mouseenter 이벤트와 mouseover 이벤트 : 비슷하게 생겼지만 완전히 다른 기능을 하기 때문에 한번 찾아볼 것.
자바스크립트의 모든 함수는 객체이다. 따라서 생성자 함수는 객체이다.
객체는 Key/Value를 가질 수 있습니다. (속성/값)
생성자 함수냐 아니냐는 단지 그 쓰임새에 달린 문제이다.
생성자 함수가 생성되면 자동으로 prototype이 만들어지고, 생성자 함수가 생성되는 변수가 instance가 된다.
ex) var obj = new Object();
Object는 생성자 함수, obj는 instance이다.
++ Prototype Chain
instance에 없는 속성이라면 instance.protoype에서 가져온다.
위 예시에서 obj instance는 constructor 속성이 없지만 obj.protoype에서 constructor 속성을 가져온다.
이런 일련의 과정을 prototype chain 이라고 한다.
Dunder Proto
__proto__ : 언더바가 2개
instance의 prototype을 가리키는 속성이다.
prototype은 객체다. constructot 속성을 가진..
protoype이라는 객체에 method가 있는 것이다.
ex) Array.prototype.push() 와 같이 MDN 등에서 method를 표현할 때 prototype이 있는 이유.
만약 객체의 prototype에 없는 method라면 prototype의 prototype에서 method를 찾아온다.
Object의 최상단에는 null이 있다.
Object.prototype.__proto__
++ instance.__proto__ === Object.protoype
자바스크립트에서는 상속이 없다. behavior delegation이다.
'바닐라코딩' 카테고리의 다른 글
Day 11. Event Loop (0) | 2018.06.14 |
---|---|
Day 9,10. Server/Client/HTTP, AJAX (0) | 2018.06.14 |
Day7. this, prototype (0) | 2018.06.05 |
Day 6. Closure (0) | 2018.06.02 |
Day 5. argument / scope / hoisting / closure (0) | 2018.05.31 |