仿¥ãJavaScriptã³ãŒã¹ã®ç¿»èš³ã®ç¬¬5éšã§ã¯ãé
åãšã«ãŒãã«ã€ããŠèª¬æããŸãã é
åã¯å€ãã®åé¡ã解決ããããã«äœ¿çšãããŸãã å€ãã®å Žåãã«ãŒãã䜿çšããŠé
åãæäœããŸãã
â
ããŒã1ïŒæåã®ããã°ã©ã ãèšèªæ©èœãæšæºâ
ããŒã2ïŒã³ãŒãã¹ã¿ã€ã«ãšããã°ã©ã æ§é â
ããŒã3ïŒå€æ°ãããŒã¿åãåŒããªããžã§ã¯ãâ
ããŒã4ïŒæ©èœâ
ããŒã5ïŒé
åãšã«ãŒãâ
ããŒã6ïŒäŸå€ãã»ãã³ãã³ãã¯ã€ã«ãã«ãŒããªãã©ã«â
ããŒã7ïŒå³æ Œã¢ãŒãããã®ããŒã¯ãŒããã€ãã³ããã¢ãžã¥ãŒã«ãæ°åŠèšç®â
ããŒã8ïŒES6æ©èœã®æŠèŠâ
ããŒã9ïŒES7ãES8ãããã³ES9æšæºã®æŠèŠ
é
å
Arrayåã®ãªããžã§ã¯ãã§ãã
Array
ã¯ãèšèªã®ä»ã®ã¡ã«ããºã ãšãšãã«é²åããŸãã ãããã¯çªå·ä»ãã®å€ã®ãªã¹ãã§ãã
é
åã®æåã®èŠçŽ ã«ã¯ã€ã³ããã¯ã¹ïŒããŒïŒ0ãããããã®ã¢ãããŒãã¯å€ãã®ããã°ã©ãã³ã°èšèªã§äœ¿çšãããŠããŸãã
ãã®ã»ã¯ã·ã§ã³ã§ã¯ãé
åãæäœããææ°ã®æ¹æ³ãæ€èšããŸãã
Arrayé
åã®åæå
é
åãåæåããæ¹æ³ãããã€ã瀺ããŸãã
const a = [] const a = [1, 2, 3] const a = Array.of(1, 2, 3) const a = Array(6).fill(1)
é
åã®åã
ã®èŠçŽ ã«ã¢ã¯ã»ã¹ããã«ã¯ãé
åèŠçŽ ã®ã€ã³ããã¯ã¹ãå«ãè§æ¬åŒ§ã§æ§æãããæ§é ã䜿çšããŸãã é
åèŠçŽ ã¯èªã¿åããŸãã¯æžã蟌ã¿ãå¯èœã§ãã
const a = [1, 2, 3] console.log(a)
Array
ã宣èšããããã®
Array
ã³ã³ã¹ãã©ã¯ã¿ãŒã¯ãå§ãããŸããã
const a = new Array()
ãã®ã¡ãœããã¯ã
åä»ãé
åã宣èšããå Žåã«ã®ã¿äœ¿çšããŠãã ããã
arrayé
åã®é·ããååŸãã
é
åã®é·ãã調ã¹ãã«ã¯ããã®
length
ããããã£ãåç
§ããå¿
èŠããããŸãã
const l = a.length
every everyïŒïŒã¡ãœããã䜿çšããŠé
åããã§ãã¯ãã
every()
é
åã¡ãœããã䜿çšããŠãç¹å®ã®æ¡ä»¶ã䜿çšããŠãã¹ãŠã®èŠçŽ ã®æ€èšŒãæŽçã§ããŸãã é
åã®ãã¹ãŠã®èŠçŽ ãæ¡ä»¶ãæºããå Žåã颿°ã¯
true
ãè¿ããããã§ãªãå Žåã¯
false
ãè¿ã
false
ã
ãã®ã¡ãœããã«ã¯ãåŒæ°
currentValue
ïŒé
åã®çŸåšã®èŠçŽ ïŒã
index
ïŒé
åã®çŸåšã®èŠçŽ ã®
index
ïŒãããã³
array
ïŒé
åèªäœïŒã
currentValue
颿°ãæž¡ãããŸãã ãŸãããªãã·ã§ã³ã®å€ãåãããšãã§ããŸãã
this
ãæž¡ããã颿°ãå®è¡ãããšãã«
this
ãšããŠäœ¿çšãããŸãã
ããšãã°ãé
åå
ã®ãã¹ãŠã®èŠçŽ ã®å€ã10ãã倧ãããã©ããã確èªããŸãã
const a = [11, 12, 13] const b = [5, 6, 25] const test = el => el > 10 console.log(a.every(test))
ããã§ã
test()
颿°ã§ã¯ãæž¡ãããæåã®åŒæ°ã«ã®ã¿é¢å¿ãããããã察å¿ããå€ãå
¥ã
el
ãã©ã¡ãŒã¿ãŒã®ã¿ãæå®ããŠå®£èšããŸãã
somesomeïŒïŒã¡ãœããã䜿çšããŠé
åããã§ãã¯ãã
ãã®ã¡ãœããã¯
every()
ã¡ãœãããšéåžžã«äŒŒãŠããŸãããé
åã®èŠçŽ ã®å°ãªããšã1ã€ããæž¡ããã颿°ã§æå®ãããæ¡ä»¶ãæºããå Žåã«
true
è¿ã
true
ã
map mapïŒïŒã¡ãœããã䜿çšããŠãæ¢åã®é
åã«åºã¥ããŠé
åãäœæããŸã
é
åã®
map()
ã¡ãœããã䜿çšãããšãé
åãå埩åŠçããèŠçŽ ããã®ã¡ãœããã«æž¡ãããåèŠçŽ ã«å€æãã颿°ãé©çšããŠãåãåã£ãå€ããæ°ããé
åãäœæã§ããŸãã ããã§ã¯ãããšãã°ãå
ã®é
åã®ãã¹ãŠã®èŠçŽ ã«2ãæããçµæã§ããæ°ããé
åãååŸããæ¹æ³ã
const a = [1, 2, 3] const double = el => el * 2 const doubleA = a.map(double) console.log(a)
filter filterïŒïŒã¡ãœããã䜿çšããŠé
åããã£ã«ã¿ãªã³ã°ãã
filter()
ã¡ãœããã¯
map()
ã¡ãœããã«äŒŒãŠã
map()
ãã颿°ã«æž¡ããã
filter()
ã¡ãœããã§æå®ãããæ¡ä»¶ãæºããå
ã®é
åã®èŠçŽ ã®ã¿ãå«ãæ°ããé
åãäœæã§ããŸãã
âreduceïŒïŒã¡ãœãã
reduce()
ã¡ãœããã䜿çšãããšãç¹å®ã®é¢æ°ãã¢ãã¥ã ã¬ãŒã¿ãšé
åã®åå€ã«é©çšããŠãé
åãåäžã®å€ã«æžããããšãã§ããŸãïŒãã®å€ã¯ããªããã£ãåãŸãã¯ãªããžã§ã¯ãåã®ããããã«ãªããŸãïŒã ãã®ã¡ãœããã¯ã倿ãå®è¡ãã颿°ãšãªãã·ã§ã³ã®åæããããªãŒå€ãåãå
¥ããŸãã äŸãèããŠã¿ãŸãããã
const a = [1, 2, 3, 4].reduce((accumulator, currentValue, currentIndex, array) => { return accumulator * currentValue }, 1) console.log(a)
ããã§ã¯ããªãã©ã«ã䜿çšããŠèšè¿°ãããé
åã®ãã¹ãŠã®èŠçŽ ã®ç©ãæ¢ããã¢ãã¥ã ã¬ãŒã¿1ã®åæå€ãèšå®ããŸãã
for forEachïŒïŒã¡ãœããã䜿çšããŠé
åãåæãã
é
åã®
forEach()
ã¡ãœããã䜿çšããŠãé
åã®å€ãå埩åŠçããã¡ãœããã«æž¡ããã颿°ã«ãã£ãŠæå®ãããç¹å®ã®ã¢ã¯ã·ã§ã³ãå®è¡ã§ããŸãã ããšãã°ãã³ã³ãœãŒã«ã®é
åã®èŠçŽ ãäžåºŠã«1ã€ãã€è¡šç€ºããŸãã
const a = [1, 2, 3] a.forEach(el => console.log(el))
é
åãç¹°ãè¿ãåŠçãããšãã«ã«ãŒãã忢ãŸãã¯äžæããå¿
èŠãããå Žåã¯ã
forEach()
䜿çšãããšãã«äŸå€ãã¹ããŒãã
forEach()
ããããŸãã ãããã£ãŠãç¹å®ã®åé¡ã解決ããéçšã§ã«ãŒãã®äžæãå¿
èŠã«ãªãå Žåãé
åã®èŠçŽ ãå埩åŠçããä»ã®æ¹æ³ãéžæããã®ãæåã§ãã
for for ...æŒç®åã䜿çšããŠé
åãéžæãã
for...of
æŒç®åã¯ãES6æšæºã«ç»å ŽããŸããã å埩å¯èœãªãªããžã§ã¯ãïŒé
åãå«ãïŒãå埩åŠçã§ããŸãã äœ¿çšæ¹æ³ã¯æ¬¡ã®ãšããã§ãã
const a = [1, 2, 3] for (let v of a) { console.log(v) }
ã«ãŒãã®åå埩ã§ãé
å
a
次ã®èŠçŽ ã倿°
v
ãŸãã
for forã¹ããŒãã¡ã³ãã䜿çšããŠé
åãåæãã
for
ã¹ããŒãã¡ã³ãã䜿çšãããšãã«ãŒããæŽçã§ããŸããã«ãŒãã䜿çšãããšãç¹ã«ãã€ã³ããã¯ã¹ã䜿çšããŠèŠçŽ ã«ã¢ã¯ã»ã¹ããŠé
åãå埩ïŒãŸãã¯åæåïŒã§ããŸãã éåžžãæ¬¡ã®èŠçŽ ã®ã€ã³ããã¯ã¹ã¯ã«ãŒãã«ãŠã³ã¿ãŒã䜿çšããŠååŸãããŸãã
const a = [1, 2, 3] for (let i = 0; i < a.length; i += 1) { console.log(a[i]) }
ã«ãŒãã®å®è¡äžã«ç¹°ãè¿ããã¹ãããããå¿
èŠãããå Žåã¯ã
continue
ã³ãã³ãã䜿çšã§ããŸãã ãµã€ã¯ã«ãææå°æ©ã«å®äºããã«ã¯ã
break
ã³ãã³ãã䜿çšã§ããŸãã ããšãã°ãç¹å®ã®é¢æ°ã«ããã«ãŒãã§
return
ã³ãã³ãã䜿çšãããšãã«ãŒããšé¢æ°ã¯çµäºãã
return
ã§
return
ããå€ã¯é¢æ°ãåŒã³åºãããå Žæã«ç§»åããŸãã
âã¡ãœãã@@ã€ãã¬ãŒã¿
ãã®ã¡ãœããã¯ãES6æšæºã«ç»å ŽããŸããã ããããããªããžã§ã¯ãã®ã€ãã¬ãŒã¿ãããã®å Žåã¯é
åèŠçŽ ã®ååŸ©ãæŽçã§ãããªããžã§ã¯ããååŸã§ããŸãã é
åã€ãã¬ãŒã¿ã¯ãã·ã³ãã«ïŒãã®ãããªã·ã³ãã«ã¯ãæ¢ç¥ã®ã·ã³ãã«ããšåŒã°ããŸãïŒ
Symbol.iterator
ã䜿çšããŠååŸã§ããŸãã ã€ãã¬ãŒã¿ãåãåã£ããããã®
next()
ã¡ãœããã«ã¢ã¯ã»ã¹ã§ããŸãããã®ã¡ãœããã¯ãåŒã³åºãããšã«ãé
åã®æ¬¡ã®èŠçŽ ãå«ãããŒã¿æ§é ãè¿ããŸãã
const a = [1, 2, 3] let it = a[Symbol.iterator]() console.log(it.next().value)
é
åã®æåŸã®èŠçŽ ã«å°éããåŸã«
next()
ã¡ãœãããåŒã³åºããšãèŠçŽ ã®å€ãšããŠ
undefined
ãè¿ãããŸãã
next()
ã¡ãœããã«ãã£ãŠè¿ããããªããžã§ã¯ãã«ã¯ã
value
ãš
done
ããããã£ãå«ãŸ
done
ãŸãã
done
ããããã£ã¯ãé
åã®æåŸã®èŠçŽ ã«å°éãããŸã§
false
è©äŸ¡ãã
false
ã ãã®å Žåã
it.next()
ã4ååŒã³åºããšã
{ value: undefined, done: true }
ãªããžã§ã¯ããè¿ã
{ value: undefined, done: true }
ãŸãããåã®3åã®åŒã³åºãã§ã¯ãã®ãªããžã§ã¯ãã¯
{ value: , done: false }
ãŸãã
entries()
é
åã¡ãœããã¯ãé
åã®ããŒãšå€ã®ãã¢ãå埩åŠçã§ããå埩åãè¿ããŸãã
const a = [1, 2, 3] let it = a.entries() console.log(it.next().value)
keys()
ã¡ãœããã䜿çšãããšãé
åã®ããŒãå埩åŠçã§ããŸãã
const a = [1, 2, 3] let it = a.keys() console.log(it.next().value)
Arrayé
åã®æåŸã«èŠçŽ ã远å ãã
é
åã®æåŸã«èŠçŽ ã远å ããã«ã¯ã
push()
ã¡ãœããã䜿çšããŸãã
a.push(4)
arrayé
åã®å
é ã«èŠçŽ ã远å ãã
é
åã®å
é ã«èŠçŽ ã远å ããã«ã¯ã
unshift()
ã¡ãœããã䜿çšããŸãã
a.unshift(0) a.unshift(-2, -1)
arrayé
åèŠçŽ ã®åé€
pop()
ã¡ãœããã䜿çšããŠããã®èŠçŽ ãè¿ããªãããé
åã®æ«å°ŸããèŠçŽ ãåé€ã§ããŸãã
a.pop()
åæ§ã«ã
shift()
ã¡ãœããã䜿çšããŠãé
åã®å
é ããèŠçŽ ãåé€ã§ããŸãã
a.shift()
åãããšã§ãããèŠçŽ ã®åé€ã®äœçœ®ãšãã®çªå·ããã§ã«ç€ºããŠããããã
splice()
ã¡ãœããã䜿çšããŸãã
a.splice(0, 2)
arrayé
åèŠçŽ ãåé€ãã代ããã«ä»ã®èŠçŽ ãæ¿å
¥ãã
äœããã®æäœã䜿çšããŠé
åã®äžéšã®èŠçŽ ãåé€ãã代ããã«ä»ã®èŠçŽ ãæ¿å
¥ããã«ã¯ã䜿ãæ
£ãã
splice()
ã¡ãœããã䜿çšããŸãã
ããšãã°ãããã§ã¯ãã€ã³ããã¯ã¹2ããå§ãŸãé
åã®3ã€ã®èŠçŽ ãåé€ããåŸãåãå Žæã«2ã€ã®ä»ã®èŠçŽ ã远å ããŸãã
const a = [1, 2, 3, 4, 5, 6] a.splice(2, 3, 'a', 'b') console.log(a)
multipleè€æ°ã®é
åãçµã¿åããã
è€æ°ã®é
åãçµåããã«ã¯ã
concat()
ã¡ãœããã䜿çšããŠãæ°ããé
åãè¿ããŸãã
const a = [1, 2] const b = [3, 4] const c = a.concat(b) console.log(c)
arrayé
åå
ã®ã¢ã€ãã ãèŠã€ãã
ES5æšæºã§ã¯ã
indexOf()
ã¡ãœãããç»å ŽããŸããããã®ã¡ãœããã¯ãé
åã®å¿
èŠãªèŠçŽ ãæåã«çŸããã€ã³ããã¯ã¹ãè¿ããŸãã é
åå
ã§èŠçŽ ãèŠã€ãããªãå Žåã
-1
ãè¿ãããŸãã
const a = [1, 2, 3, 4, 5, 6, 7, 5, 8] console.log(a.indexOf(5))
lastIndexOf()
ã¡ãœããã¯ãé
åå
ã®èŠçŽ ã®æåŸã®åºçŸã®ã€ã³ããã¯ã¹ãè¿ããŸããèŠçŽ ãèŠã€ãããªãå Žåã¯
-1
è¿ããŸãã
const a = [1, 2, 3, 4, 5, 6, 7, 5, 8] console.log(a.lastIndexOf(5))
ES6ã§ã¯ãé
åã®
find()
ã¡ãœãããç»å ŽããŸããããã®ã¡ãœããã¯ãæž¡ããã颿°ã䜿çšããŠé
åæ€çŽ¢ãå®è¡ããŸãã 颿°ã
true
è¿ã
true
ãã¡ãœããã¯æåã«èŠã€ãã£ãèŠçŽ ã®å€ãè¿ããŸãã ã¢ã€ãã ãèŠã€ãããªãå Žåã颿°ã¯
undefined
ãè¿ããŸãã
ãã®äœ¿çšã¯æ¬¡ã®ããã«ãªããŸãã
a.find(x => x.id === my_id)
ããã§ã¯ããªããžã§ã¯ããå«ãé
åã§ã
id
ããããã£ãæå®ããããã®ãšçããèŠçŽ ãæ€çŽ¢ãããŸãã
findIndex()
ã¡ãœããã¯
find()
䌌ãŠããŸãããfoundãŸãã¯
undefined
èŠçŽ ã®ã€ã³ããã¯ã¹ãè¿ããŸãã
ES7ã§ã¯ã
includes()
ã¡ãœãããç»å ŽããŸãããããã«ãããé
åå
ã®ç¹å®ã®èŠçŽ ã®ååšã確èªã§ããŸãã
true
ãŸãã¯
false
è¿ããããã°ã©ããé¢å¿ã®ããèŠçŽ ãèŠã€ãããã©ããã調ã¹ãŸãã
a.includes(value)
ãã®ã¡ãœããã䜿çšãããšããã®ã¡ãœãããåŒã³åºããããšãã«æå®ãããã€ã³ããã¯ã¹ããéå§ããŠãé
åå
šäœã§ã¯ãªããç¹å®ã®èŠçŽ ã®ååšããã§ãã¯ã§ããŸãã ã€ã³ããã¯ã¹ã¯ããã®ã¡ãœããã®2çªç®ã®ãªãã·ã§ã³ã®ãã©ã¡ãŒã¿ãŒã䜿çšããŠæå®ãããŸãã
a.includes(value, i)
arrayé
åã®ãã©ã°ã¡ã³ããååŸãã
é
åã®äžéšã®ãã©ã°ã¡ã³ãã®ã³ããŒãæ°ããé
åãšããŠååŸããã«ã¯ã
slice()
ã¡ãœããã䜿çšã§ããŸãã ãã®ã¡ãœãããåŒæ°ãªãã§åŒã³åºãããå Žåãè¿ãããé
åã¯å
ã®é
åã®å®å
šãªã³ããŒã«ãªããŸãã 2ã€ã®ãªãã·ã§ã³ãã©ã¡ãŒã¿ãå¿
èŠã§ãã æåã¯ãã©ã°ã¡ã³ãã®éå§ã€ã³ããã¯ã¹ãèšå®ãã2çªç®ã¯çµäºãèšå®ããŸãã çµäºã€ã³ããã¯ã¹ãæå®ãããŠããªãå Žåãæå®ãããéå§ã€ã³ããã¯ã¹ããçµäºãŸã§é
åãã³ããŒãããŸãã
const a = [1, 2, 3, 4, 5, 6, 7, 8, 9] console.log(a.slice(4))
arrayé
åã®äžŠã¹æ¿ã
é
åèŠçŽ ã®ãœãŒããã¢ã«ãã¡ãããé ïŒ
0-9A-Za-z
ïŒã«
sort()
ããã«ã¯ãåŒæ°ãæž¡ããã«
sort()
ã¡ãœããã䜿çšããŸãã
const a = [1, 2, 3, 10, 11] a.sort() console.log(a)
ãã®ã¡ãœããã«ãœãŒãé ãèšå®ãã颿°ãæž¡ãããšãã§ããŸãã ãã®é¢æ°ã¯ã2ã€ã®èŠçŽ ã®æ¯èŒã®ããã«ããã©ã¡ãŒã¿ãŒ
a
ãš
b
åãå
¥ããŸãã
b
ãäœããã®åºæºã§
b
ããå°ããå Žåã¯è² ã®æ°ãçããå Žåã¯0ã
b
ãã倧ããå Žå
a
æ£ã®æ°ãè¿ããŸãã æ°å€é
åããœãŒãããåæ§ã®é¢æ°ãäœæããå Žåã
b
ãš
b
ãæžç®ã
a
çµæãè¿ãããšãã§ããŸãã ãããã£ãŠãåŒ
a - b
è©äŸ¡çµæãè¿ãããšã¯ãé
åãæé ã§äžŠã¹æ¿ããããšãæå³ããåŒ
b - a
ã®è©äŸ¡çµæãè¿ãããšã¯ãé
åãéé ã§äžŠã¹æ¿ããããšãæå³ããŸãã
const a = [1, 10, 3, 2, 11] console.log(a.sort((a, b) => a - b))
é
åèŠçŽ ã®ã·ãŒã±ã³ã¹ãéã«ããã«ã¯ã
reverse()
ã¡ãœããã䜿çšã§ããŸãã
sort()
ãšåæ§ã«ãåŒã³åºãããé
åã倿ŽããŸãã
arrayé
åã®æåå衚çŸãååŸãã
é
åã®æåå衚çŸãååŸããã«ã¯ããã®
toString()
ã¡ãœããã䜿çšã§ããŸãã
a.toString()
åæ§ã®çµæã¯ãåŒæ°ãªãã§åŒã³åºããã
join()
ã¡ãœããã«ãã£ãŠæäŸãããŸãã
a.join()
åŒæ°ãšããŠèŠçŽ ã»ãã¬ãŒã¿ãŒãæž¡ãããšãã§ããŸãã
const a = [1, 10, 3, 2, 11] console.log(a.toString())
arraysé
åã®ã³ããŒãäœæãã
å
ã®é
åã®å€ãæ°ããé
åã«ã³ããŒããŠé
åã®ã³ããŒãäœæããã«ã¯ã
Array.from()
ã¡ãœããã䜿çšã§ããŸãã ãŸããé
åã®ãããªãªããžã§ã¯ãïŒããšãã°ãæååïŒããé
åãäœæããã®ã«ãé©ããŠããŸãã
const a = 'a string' const b = Array.from(a) console.log(b)
Array.of()
ã¡ãœããã䜿çšããŠãé
åãã³ããŒããããããŸããŸãªèŠçŽ ããé
åããã¢ã»ã³ãã«ãããããšãã§ããŸãã ããšãã°ãããé
åã®èŠçŽ ãå¥ã®é
åã«ã³ããŒããã«ã¯ãæ¬¡ã®æ§æã䜿çšã§ããŸãã
const a = [1, 10, 3, 2, 11] const b = Array.of(...a) console.log(b)
copyWithin()
ã¡ãœããã¯ãé
åã®èŠçŽ ããã®é
åèªäœã®ç¹å®ã®å Žæã«ã³ããŒããããã«äœ¿çšãããŸãã æåã®åŒæ°ã¯ã¿ãŒã²ããäœçœ®ã®åæã€ã³ããã¯ã¹ãæå®ãã2çªç®ã¯èŠçŽ ãœãŒã¹ã®äœçœ®ã®åæã€ã³ããã¯ã¹ãæå®ãã3çªç®ã®ãã©ã¡ãŒã¿ãŒã¯ãªãã·ã§ã³ã§ãèŠçŽ ãœãŒã¹ã®äœçœ®ã®æçµã€ã³ããã¯ã¹ã瀺ããŸãã æå®ããªãå ŽåããœãŒã¹äœçœ®ã®åæã€ã³ããã¯ã¹ããé
åã®æåŸãŸã§ãé
åã®æå®ãããå Žæã«ãã¹ãŠãã³ããŒãããŸãã
const a = [1, 2, 3, 4, 5] a.copyWithin(0, 2) console.log(a)
ãµã€ã¯ã«
äžèšã®é
åã«ã€ããŠèšãã°ãã«ãŒããæŽçããããã€ãã®æ¹æ³ã«ãã§ã«åºããããŸããã ãã ããJavaScriptã®ã«ãŒãã¯é
åãæäœããããã ãã«äœ¿çšãããããã§ã¯ãªãããã¹ãŠã®ã¿ã€ããšã¯ã»ã©é ããã®ãšèããŠããŸãã ãããã£ãŠãJavaScriptã§ã«ãŒããç·šæããããŸããŸãªæ¹æ³ãæ€èšããããšã«æéãå²ããŠããã®æ©èœã«ã€ããŠèª¬æããŸãã
loop forã«ãŒã
ãã®ãµã€ã¯ã«ãé©çšããäŸãèããŠã¿ãŸãããã
const list = ['a', 'b', 'c'] for (let i = 0; i < list.length; i++) { console.log(list[i])
æ¢ã«è¿°ã¹ãããã«ã
break
ã³ãã³ãã䜿çšããŠãã®ãããªã«ãŒãã®å®è¡ãäžæããããšãã§ãã
continue
ã³ãã³ãã䜿çšããŠçŸåšã®å埩ãã¹ãããããŠæ¬¡ã®å埩ã«çŽæ¥é²ãããšãã§ããŸãã
E forEachãµã€ã¯ã«
ãã®ãµã€ã¯ã«ã«ã€ããŠã説æããŸããã 以äžã¯ãããã䜿çšããŠé
åãå埩åŠçããäŸã§ãã
const list = ['a', 'b', 'c'] list.forEach((item, index) => { console.log(item)
ãã®ãããªãµã€ã¯ã«ãäžæããã«ã¯ãäŸå€ãã¹ããŒããå¿
èŠãããããšãæãåºããŠãã ãããã€ãŸãããµã€ã¯ã«ã®äœ¿çšäžã«äŸå€ãäžæããå¿
èŠãããå Žåã¯ãä»ã®ãµã€ã¯ã«ãéžæããããšããå§ãããŸãã
âDo ... whileã«ãŒã
ããã¯ããããããäºåŸæ¡ä»¶ãµã€ã¯ã«ãã§ãã ãã®ãããªãµã€ã¯ã«ã¯ããµã€ã¯ã«ãçµäºããæ¡ä»¶ããã§ãã¯ããåã«å°ãªããšã1åå®è¡ãããŸãã
const list = ['a', 'b', 'c'] let i = 0 do { console.log(list[i])
break
ã³ãã³ãã䜿çšããŠäžæããããšãã§ãã
continue
ã³ãã³ãã䜿çšããŠæ¬¡ã®å埩ã«é²ãããšãã§ããŸãã
âwhileã«ãŒã
ããã¯ããããããäºå調æŽãµã€ã¯ã«ãã§ãã ãµã€ã¯ã«ã®å
¥ãå£ã§ããµã€ã¯ã«ãç¶ç¶ããæ¡ä»¶ãåœã§ããå ŽåãäžåºŠãå®è¡ãããŸããã
const list = ['a', 'b', 'c'] let i = 0 while (i < list.length) { console.log(list[i])
... for ...ã«ãŒãå
ãã®ã«ãŒãã䜿çšãããšããªããžã§ã¯ãã®åæå¯èœãªãã¹ãŠã®ããããã£ãååã§ç¹°ãè¿ãããšãã§ããŸãã
let object = {a: 1, b: 2, c: 'three'} for (let property in object) { console.log(property)
ofãã®ãµã€ã¯ã«
for...of
ãµã€ã¯ã«ã¯ã
forEach
ãµã€ã¯ã«ã®å©äŸ¿æ§ãšãéåžžã®ããŒã«ã䜿çšããŠæäœãäžæããæ©èœãçµã¿åãããŠããŸãã
ããã§ãã«ãŒãããããŒã§ã¯
const
ããŒã¯ãŒãã䜿çšãããŠããããšã«æ³šæããŠãã ããã ã«ãŒããããã¯å
ã®å€æ°ãåå²ãåœãŠããå¿
èŠããªãå Žåã
const
ã¯éåžžã«é©ããŠããŸãã
for...in
ã«ãŒããš
for...of
ã«ãŒããæ¯èŒãããšã
for...in
ãããããã£ã®ååãç¹°ãè¿ãåŠçãã
for...in
of-ããããã£ã®å€ãç¹°ãè¿ãåŠçããããšãããããŸãã
ã«ãŒããšã¹ã³ãŒã
ã«ãŒããšå€æ°ã®ã¹ã³ãŒãã§ã¯ãéçºè
ã«ããã€ãã®åé¡ãåŒãèµ·ããå¯èœæ§ã®ããJavaScriptæ©èœã1ã€ãããŸãã ãããã®åé¡ã«å¯ŸåŠããããã«ãã«ãŒããã¹ã³ãŒãã
var
ããã³
let
ããŒã¯ãŒãã«ã€ããŠèª¬æã
let
ã
äŸãèããŠã¿ãŸãããã
const operations = [] for (var i = 0; i < 5; i++) { operations.push(() => { console.log(i) }) } for (const operation of operations) { operation() }
ã«ãŒãã¯5åã®å埩ãå®è¡ããåå埩ã§ã
operations
é
åã«æ°ãã颿°ã远å ãããŸãã ãã®é¢æ°ã¯ãã«ãŒãã«ãŠã³ã¿ãŒ
i
å€ãã³ã³ãœãŒã«ã«è¡šç€ºããŸãã 颿°ãé
åã«è¿œå ãããåŸããã®é
åãå埩åŠçãããã®èŠçŽ ã§ãã颿°ãåŒã³åºããŸãã
ãã®ãããªã³ãŒããå®è¡ãããšã以äžã«ç€ºãçµæãæåŸ
ã§ããŸãã
0 1 2 3 4
ãããå®éãåœŒã¯æ¬¡ã®ããã«æšæž¬ããŸãã
5 5 5 5 5
ããã¯ãªãã§ããïŒ åé¡ã¯ãã«ãŒãã«ãŠã³ã¿ãŒãšããŠã
var
ããŒã¯ãŒãã䜿çšããŠå®£èšããã倿°ã䜿çšããããšã§ãã
ãã®ãããªå€æ°ã®å®£èšã¯ã¹ã³ãŒãã®æäžéšã«éãããããäžèšã®ã³ãŒãã¯æ¬¡ã®ããã«ãªããŸãã
var i; const operations = [] for (i = 0; i < 5; i++) { operations.push(() => { console.log(i) }) } for (const operation of operations) { operation() }
ãã®çµæãé
åãå埩åŠçãã
for...of
ã«ãŒãã§ã¯ã倿°
i
ããŸã 衚瀺ãããŠããã5ã§ããããããã¹ãŠã®é¢æ°ã§
i
ãåç
§ããŠãæ°å€5ãåºåããŸãã
ããã°ã©ã ã«æåŸ
ãããããšãå®è¡ããããã«ããã°ã©ã ã®åäœã倿Žããæ¹æ³ã¯ïŒ
ãã®åé¡ã®æãç°¡åãªè§£æ±ºçã¯ã
let
ããŒã¯ãŒãã䜿çšãã
let
ã§ãã ãã§ã«è¿°ã¹ãããã«ãES6ã§ç»å ŽããŸããããã®äœ¿çšã«ããã
var
ç¹æã®å¥åŠãªéšåãåãé€ãããšãã§ããŸãã
ç¹ã«ãäžèšã®äŸã§ã¯ã
var
ã
let
ã«å€æŽããã ãã§ååã§ããããã¹ãŠãæ£åžžã«æ©èœããŸãã
const operations = [] for (let i = 0; i < 5; i++) { operations.push(() => { console.log(i) }) } for (const operation of operations) { operation() }
ããã§ãã«ãŒãã®åå埩ã§ã
operations
é
åã«è¿œå ãããå颿°ã
i
ç¬èªã®ã³ããŒãååŸããŸãã ãã®ç¶æ³ã§ã¯ãã«ãŒãå
ã®
i
ã®å€ãå€ããããã
const
ããŒã¯ãŒãã䜿çšã§ããªãããšã«æ³šæããŠãã ããã
ãã®åé¡ã解決ããå¥ã®æ¹æ³ã¯ã
let
ããŒã¯ãŒããååšããªããšãã«ES6æšæºã®åã«ãã䜿çšãããŠããŸããããIIFEã䜿çšããããšã§ããã
ãã®ã¢ãããŒãã§ã¯ã
i
ã®å€ãã¯ããŒãžã£ãŒã«ä¿åãããIIFEã«ãã£ãŠè¿ãããã¯ããŒãžã£ãŒã«ã¢ã¯ã»ã¹ã§ãã颿°ãé
åã«å
¥ããŸãã ãã®æ©èœã¯ãå¿
èŠã«å¿ããŠå®è¡ã§ããŸãã å€èŠ³ã¯æ¬¡ã®ãšããã§ãã
const operations = [] for (var i = 0; i < 5; i++) { operations.push(((j) => { return () => console.log(j) })(i)) } for (const operation of operations) { operation() }
ãŸãšã
仿¥ã¯JavaScriptã®é
åãšã«ãŒãã«ã€ããŠè©±ããŸããã æ¬¡ã®èšäºã®ãããã¯ã¯ãäŸå€åŠçãã»ãã³ãã³ã®äœ¿çšãã¿ãŒã³ãããã³ãã³ãã¬ãŒããªãã©ã«ã§ãã
芪æãªãèªè
ïŒ JavaScriptã§é
åãæäœããããã«æãé »ç¹ã«äœ¿çšããæ¹æ³ã¯äœã§ããïŒ
