JavaScript, ActionScript
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/12/10 00:01 UTC 版)
「Foreach文」の記事における「JavaScript, ActionScript」の解説
オブジェクトの反復処理にはfor-in文を用いる。変数にはプロパティ名(連想配列で言うキー)が代入されるので、プロパティの値は式 オブジェクト[変数] で取得する。 for (var 変数 in オブジェクト) { 文} JavaScriptのfor-in文は、ユーザー定義のプロパティについて、プロトタイプチェーンをさかのぼって反復処理を行う。このため、特に配列に対してfor-in文を用いると、他の言語とは異なる挙動をすることがある。 var array = new Array(3);var output = "";for (var key in array) { output += key + " "; }// このとき array.length === 3 であるが、// array にユーザー側から配列要素を定義していないので、// output === "" である。// 配列もオブジェクトなので、数値以外のプロパティを設定できる。array.foo = "foo"output = "";for (var key in array) { output += key + " "; }// このとき output === "foo " である。// オブジェクトに新しいインスタンスメソッドを追加してみる。Object.prototype.myMethod = function () {};output = "";for (var key in array) { output += key + " "; }// 配列もオブジェクトなので、このとき output === "foo myMethod " である。// なおもちろん、この時点でも array.length === 3 である。 ECMA-262第5版 (JavaScript 1.6, ActionScript 3.0) からは、ArrayインスタンスにforEachメソッドが追加された。このメソッドは本項で説明されているforeach文と同様に配列の要素を反復して文を実行する。 array.forEach(function (変数) { 文}); ECMA-262第6版 (ECMAScript 2015) からは、配列などのiterableオブジェクトの値で反復処理をするfor-of文も導入された。 for (変数 of オブジェクト) { 文}
※この「JavaScript, ActionScript」の解説は、「Foreach文」の解説の一部です。
「JavaScript, ActionScript」を含む「Foreach文」の記事については、「Foreach文」の概要を参照ください。
- JavaScript, ActionScriptのページへのリンク