仿¥ã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ã§é
åãæäœããããã«æãé »ç¹ã«äœ¿çšããæ¹æ³ã¯äœã§ããïŒ
