JS prototype /create

2019. 2. 14. 13:34·WEB/JavaScript

quiz1

1
2
3
4
var obj1 = { x: 10 };
var obj2 = Object.create(obj1); //obj1을 상속 받음, x값이 prototype에 위치
 
var result = obj2.x; // proro에 위치한 x값 10을 가져옴
cs


quiz2

1
2
3
4
5
6
var obj1 = { x: 10 }; 
var obj2 = Object.create(obj1); // obj1을 상속받음
 
obj2.x = 20; // obj2에 x를 정의하고 20의 값을 넣음
 
var result = obj2.x; // 상속을 받았지만 x가 생성되면서 더 가까운 20의 값을 가져옴
cs


quiz3

1
2
3
4
5
6
var obj1 = { x: 10 };
var obj2 = Object.create(obj1); //obj1 상속
 
obj2.x = 20; // obj2에 x를 선언
 
var result = obj1.x; // 둘은 서로 다른 것 이므로 result = 10
cs


quiz4

1
2
3
4
5
6
7
var obj1 = { x: 10 };
var obj2 = Object.create(obj1); // 상속
var obj3 = Object.create(obj1); // 상속
 
obj1.x = 15; // 상속받은 obj2, obj3의 proto x의 값도 바뀜
 
var result = obj2.x + obj3.x; // 30
cs


quiz5

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var obj1 = { x: 10 };
var obj2 = Object.create(obj1); // 상속
 
obj2.x += 10;
/*obj2
    {x: 20}
         __proto__: x: 10
*/
obj1.x = 15; // obj2의 proto x의 값도 15로 변경
/*obj2
    {x: 20}
         __proto__: x: 15
*/
 
var result = obj2.x; // obj2의 proto x값이랑은 상관없이 가까운 x의 값 20
cs



quiz6

1
2
3
4
5
var obj1 = { x: 10 };
var obj2 = Object.create(obj1); // obj1 상속
var obj3 = Object.create(obj2); // obj2 상속
 
var result = obj3.x + 10; // 20
cs


quiz7

1
2
3
4
5
6
7
var obj1 = { x: 10 };
var obj2 = Object.create(obj1); //obj1 상속
var obj3 = Object.create(obj2); //obj2 상속
 
obj2.x = 20; //obj2에 x값이 새로 생성
 
var result = obj3.x + 10; // obj2의 x 20+10 = 20
cs


quiz8

1
2
3
4
5
6
var MyFunc = function () {};
MyFunc.prototype.x = 10; // MyFunc의 proto 에 x를 넣는다
var obj1 = new MyFunc(); //new를 사용하여 class 생성
var obj2 = new MyFunc();
 
var result = obj1.x + 10; // 20
cs


'WEB > JavaScript' 카테고리의 다른 글

es6 문법 const let var  (0) 2019.03.07
Javascript Event loop  (0) 2019.03.04
Debug  (0) 2018.10.24
arr 메소드  (0) 2018.10.22
string / number 메소드  (0) 2018.10.22
'WEB/JavaScript' 카테고리의 다른 글
  • es6 문법 const let var
  • Javascript Event loop
  • Debug
  • arr 메소드
vitnal
vitnal
4년차 프론트엔드 개발자입니다. react를 사용하여 웹 서비스를 개발한 경험이 있습니다. github: https://github.com/jch1223
  • vitnal
    vitnal 아카이브
    vitnal
  • 전체
    오늘
    어제
    • 분류 전체보기 (146)
      • AI (1)
      • WEB (76)
        • React (21)
        • Nextjs (17)
        • JavaScript (16)
        • React Native (5)
        • HTML & CSS (7)
      • CS (3)
      • Git (15)
      • Dev Tools (23)
      • Deploy (12)
      • Tech Memo (8)
      • Retrospect (7)
  • 반응형
  • hELLO· Designed By정상우.v4.10.5
vitnal
JS prototype /create
상단으로

티스토리툴바