"prototype" ã®å¤æ´
ä¸ã®ã³ã¼ãã§ã¯ãnew Rabbit ãä½ãããã®ãããã¿ã¤ãã夿´ãããã¨ãã¦ãã¾ãã
æåã¯æ¬¡ã®ã³ã¼ããããã¾ã:
function Rabbit() {}
Rabbit.prototype = {
eats: true
};
let rabbit = new Rabbit();
alert( rabbit.eats ); // true
-
1ã¤æååã追å ãã¾ãã(強調é¨å)ãä»
alertã¯ä½ã表示ãããã§ããã?function Rabbit() {} Rabbit.prototype = { eats: true }; let rabbit = new Rabbit(); Rabbit.prototype = {}; alert( rabbit.eats ); // ? -
â¦ã¾ããã³ã¼ããæ¬¡ã®ãããªå ´åã¯(1è¡ç½®ãæãã¾ãã)?
function Rabbit() {} Rabbit.prototype = { eats: true }; let rabbit = new Rabbit(); Rabbit.prototype.eats = false; alert( rabbit.eats ); // ? -
ãã®å ´å㯠(1è¡ç½®ãæãã¾ãã)?
function Rabbit() {} Rabbit.prototype = { eats: true }; let rabbit = new Rabbit(); delete rabbit.eats; alert( rabbit.eats ); // ? -
æå¾ã®ããªã¢ã³ãã§ã:
function Rabbit() {} Rabbit.prototype = { eats: true }; let rabbit = new Rabbit(); delete Rabbit.prototype.eats; alert( rabbit.eats ); // ?
Answers:
-
true.Rabbit.prototypeã¸ã®ä»£å ¥ã¯ãæ°ãããªãã¸ã§ã¯ãã«å¯¾ãã¦[[Prototype]]ãè¨å®ãã¾ãããæ¢åã®ãã®ã¸ã®å½±é¿ã¯ããã¾ããã -
false.ãªãã¸ã§ã¯ãã¯åç §ã«ãã£ã¦ä»£å ¥ããã¾ãã
Rabbit.prototypeããã®ãªãã¸ã§ã¯ãã¯è¤è£½ããã¦ããããä¾ç¶ã¨ãã¦ãRabbit.prototypeã¨rabbitã®[[Prototype]]両æ¹ã«ãã£ã¦åç §ããã1ã¤ã®ãªãã¸ã§ã¯ãã§ããå¾ã£ã¦ã1ã¤ã®åç §ãéãã¦ãã®ä¸èº«ãå¤ããã¨ããå¥ã®åç §ã¨éãã¦ãããè¦ãã¾ãã
-
true.ãã¹ã¦ã®
deleteæä½ã¯ãªãã¸ã§ã¯ãã«å¯¾ãã¦ç´æ¥é©ç¨ããã¾ããä»åã®delete rabbit.eatsã¯rabbitããeatsããããã£ãåé¤ãããã¨ãã¾ãããrabbitã¯æã£ã¦ãªãã®ã§ãã®æä½ã¯ä½ã®å½±é¿ãä¸ãã¾ããã -
undefined.ãããã¿ã¤ããã
eatsããããã£ãåé¤ãããã®ã§ãããåå¨ãã¦ãã¾ããã