ECMA Script6(JavaScript)のfor-inとfor-ofとforEachの違いについてです。
for-inで取得するのはプロパティ名になります。
以下、実行例です。
1 2 3 4 5 6 7 8 9 10 11 12 |
let name = 'taro'; let age = '20'; let human = {name, age}; console.log(human); for (let val in human) { console.log(val); } for (let val in human) { console.log(human[val]); } |
結果は以下のようになります。
1 2 3 4 5 |
{ "name": "taro", "age": "20" } name age taro 20 |
for-ofの使い方
for-ofはイテレータブルな値の中身を見る場合に使います。例えば配列などです。
1 2 3 4 5 6 7 |
let human = ['taro', '20']; console.log(human); for (let val of human) { console.log(val); } |
結果は以下のようになります。
1 2 3 |
[ "taro", "20" ] taro 20 |
Mapなどもイテレータブルなのでfor-ofが使えます。
1 2 3 4 5 |
let map = new Map([['a', 1], ['b', 2], ['c', 3]]); for (let val of map) { console.log(val); } |
結果は以下のようになります。
1 2 3 |
[ "a", 1 ] [ "b", 2 ] [ "c", 3 ] |
forEachの使い方
配列のメソッドとしてforEachがあります。Eは大文字なので注意です。
また、forEachは同期関数です。(node.jsなどでは意識しておく必要がある)
1 2 3 |
[3, 5, 10].forEach(function(elem, i, array) { console.log(i + ":" + elem); }); |
結果は以下のようになります。
1 2 3 |
0:3 1:5 2:10 |
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^