夿°ã¯åç §ã§ãã¾ããï¼
ãã®ã³ã¼ãã®çµæã¯ã©ããªãã§ãããï¼
let x = 1;
function func() {
console.log(x); // ?
let x = 2;
}
func();
P.S. ãã®ã¿ã¹ã¯ã«ã¯è½ã¨ãç©´ãããã¾ãã
çµæã¯: ã¨ã©ã¼ ã§ãã
å®è¡ãã¦ã¿ã¾ããã:
let x = 1;
function func() {
console.log(x); // ReferenceError: Cannot access 'x' before initialization
let x = 2;
}
func();
ãã®ä¾ã§ã¯ãâåå¨ããªãâ 夿°ã¨ âåæåããã¦ããªãâ 夿°ã®å¤ãã£ãéããè¦ããã¨ãã§ãã¾ãã
è¨äº 夿°ã¹ã³ã¼ããã¯ãã¼ã¸ã£ ã§ã覧ã«ãªã£ãããããã¾ãããã夿°ã¯å®è¡ãã³ã¼ããããã¯(ã¾ãã¯é¢æ°)ã«å
¥ã£ãæç¹ãããâåæåããã¦ããªãâ ç¶æ
ã§å§ã¾ãã¾ããããã¦å¯¾å¿ãã let æã¾ã§åæåããã¾ããã
ã¤ã¾ãã夿°ã¯æè¡çã«ã¯åå¨ãã¾ãããlet 以åã§ã¯å©ç¨ã§ãã¾ããã
ä¸ã®ã³ã¼ãã説æãã¾ãã
function func() {
// ã¨ã³ã¸ã³ã¯é¢æ°ã®æåã®æç¹ã§ãã¼ã«ã«å¤æ° x ãç¥ã£ã¦ãã¾ãã
// ããlet ã¾ã§ã¯ "åæåããã¦ãã¾ãã" (å©ç¨ã§ãã¾ãã)
// ãªã®ã§ã¨ã©ã¼ã§ã
console.log(x); // ReferenceError: Cannot access 'vx before initialization
let x = 2;
}
夿°ã䏿çã«å©ç¨ã§ããªãã¾ã¼ã³(ã³ã¼ããããã¯ã®å
é ãã let ã¾ã§)㯠âãããã¾ã¼ã³â ã¨å¼ã°ãããã¨ãããã¾ãã