๊ฐ์ฒด ํ๋กํผํฐ์ค์ getter์ setter๋ฅผ ์ค์ ํ๋ ๊ตฌ๊ฐ์ด ์๋ค.
let user = { name: 'j', get fullName() { return `${this.name}`,
set fullName(value){[this.name]=value}}}
๊ฐ์ฒด์ ํ๋กํผํฐ๋ฅผ setter ๋ก ์ค์ ํ๊ณ getter๋ก ๋ถ๋ฌ์จ๋ค.
ํ๋กํ ํ์ ์ด๋?
let animal = {eats:true;}
let rabbit = {jumps: true};
rabbit.__proto__ = animal;
๋ถ๋ชจ์ ์์ฑ๋ ๊ฐ์ ธ๋ค ์ธ ์ ์๋ ๊ฒ์ ํ๋กํ ํ์ ์ ์๋ฏธ๋ผ๊ณ ๋ณผ ์ ์๋ค.
ํ์ํ ๊ธฐ๋ฅ์ ๊ฐ์ ธ๋ค ์ธ ๋ ํ๋กํ ํ์ ์ ์ ์ธํด์ฃผ๋ฉด ๋๋ค.
let animal = {eats: true};
let rabbit = {jumps:true, __proto__:animal};
rabbit์ด jumps๋ฅผ ํ ์ ์๊ณ , ํ๋กํ ํ์ (์์ฑ)์ animal์ ์์์์ผ์ค๋ค.
let small_rabbit = {legnth: 10, __proto__: rabbit};
small_rabbit.eats ๋ true ๊ฐ ๋๊ณ
small_rabblit์ ์ถ๋ ฅํ๋ฉด {legnth: 10} ์ด ์ถ๋ ฅ ๋๋ค.
small_rabbit.jumps๋ฅผ ํด๋ true๊ฐ ๋์จ๋ค.
ํ๋กํ ํ์ ์ด๋ผ๋ ๊ฑธ๋ก ์๋ก์ด ๊ฐ์ฒด๋ฅผ ๋ง๋ค ์๊ฐ ์๋๋ฐ, ๋จผ์
let animal = {eats: true} ๋ผ๊ณ ํ ๋
function Rabbit(name) { this.name = name; }
Rabbit.prototype = animal; ์ถ๋ ฅ์
๊ฒฐ๊ณผ { eats : true }
let rabbit = new Rabbit("white_rabbit");
result = undefined
rabbit
result = Rabbit {name: 'white_rabbit'}
let arr = [1,2,3];
ํ๋กํ ํ์ ์ ๊ธฐ๋ณธ์ Array์ด๋ค.