SyntaxError: for-in loop head declarations may not have initializers
ë©ì¸ì§
SyntaxError: for-in loop head declarations cannot have an initializer (Edge)
SyntaxError: for-in loop head declarations may not have initializers (Firefox)
SyntaxError: for-in loop variable declaration may not have an initializer. (Chrome)
ìë¬ íì
ì격(Strict) 모ëììì SyntaxError.
무ìì´ ì못ëììê¹?
for...in ë°ë³µë¬¸ì ì ì¸ë¶ì ì´ê¸°í êµ¬ë¬¸ì´ í¬í¨ëì´ ììµëë¤. ì¦, |for (var i = 0 in obj)| 구문ì íµí´ ë³ìê° ì ìëê³ ê°ì´ í ë¹ë ê²ì ë§í©ëë¤. ë¹ì격 모ë(non-strict) 모ëììë ì´ ì´ê¸°í êµ¬ë¬¸ì´ ë¬´ìëì´ |for (var i in obj)| ì²ë¼ ëìí©ëë¤. íì§ë§ ì격 모ëììë SyntaxError ê° ë°ìí©ëë¤.
ìì
ì´ ìì ë SyntaxError를 ë°ììíµëë¤.
const obj = { a: 1, b: 2, c: 3 };
for (const i = 0 in obj) {
console.log(obj[i]);
}
// SyntaxError: for-in loop head declarations may not have initializers
ì¬ë°ë¥¸ for-in ë°ë³µë¬¸
for-in ë°ë³µë¬¸ì ì ì¸ë¶ìì ì´ê¸°í 구문(i = 0)ì ìì í©ëë¤.
"use strict";
var obj = { a: 1, b: 2, c: 3 };
for (var i in obj) {
console.log(obj[i]);
}
ë°°ì´ ë°ë³µ
for...in ë°ë³µë¬¸ì ë°°ì´ì ë°ë³µíëë°ìë ì¬ì©íì§ ììµëë¤. ë°°ì´(Array)ì ë°ë³µí기 ìí´ for-in ë°ë³µë¬¸ ëì ì for ë°ë³µë¬¸ì ì¬ì©íë ¤ê³ í ì ì´ ììµëê¹? for ë°ë³µë¬¸ì ì ì¸ë¶ìì ì´ê¸°íë í ì ììµëë¤:
var arr = ["a", "b", "c"];
for (var i = 2; i < arr.length; i++) {
console.log(arr[i]);
}
// "c"