利用するようにしてください。インスタンスではありません。使って以下のようにする必要があります。35だとArray.forEachが定義されているようです。当のMozillaのリファレンスには記載がありませんが。3:13ホントだ...実装の差異ですかねぇ。ご指摘、ありがとうございます。修正と追記を行いました。3:251MDNにArrayジェネリックメソッドと記載があるのがArray.forEachですかね。argumentsのようにlengthだけサポートしてる配列もどきのために作られたようです。ありがとうございます。回答中の最後の部分に追記しました。件のコメントを表示0JavaScriptの言語における組み込みの「型」とその「prototypeプロパティー」について若干、混乱があるように思いますので以下を見てください。今回の件でFireFoxとGoogleChromeの両ブラウザの「コンソール」での違いを見てみるとわかりやすいですよ。型の直の関数が実行されたArrayはJavaScriptにおいて組込の型であり(クラスという人もいますがJavaScriptにはクラスは無いですから間違いです)と同時に「Function型のインスタンス」でもあるので、インスタンスベースの言語であるJavaScriptでは”インスタンスのArrayに直接APIを追加”できてしまうのです。JAVAやC++などクラスベースしか知らない方はココをよく混乱されますがJavaScriptでは基本的にはどこにでも、どのような関数でも設置できてしまうということ質問の「何が違うのでしょうか?」ということへの答えは少しイジワルでいえば「関数定義を見てみるまでは判りません」というのが答えになります。「どんな中身に変えてでも」設置できるからです。逆に怖いことですが、できてしまうんです、どこかのヘボが標準的と捉えられている関数を勝手に変えてるかもしれないからです・・・もちろんmozillaさんではちゃんとした関数でしょうが、標準的で一般的な型の直接のメソッドを設定してしまうあたりすごい発想!(火のキツネが嫌われる理由ともw)まず1つめは「関数は同名でもなんでも、好きな様に、好きな場所に定義できる」ということです(mozillaさんがESにおいて標準的ではないのに、そうしたように)あと型の直接のメソッドと、その型のprototypeプロパティーのメソッドの「違い」で重大な違いは「継承」です。型に直接、メソッドを定義すると元の型(Function型インスタンス)では利用できますがその設計図を継承した別の(子の)型ではその関数が「見えません」。ご存知のようにJavaScriptの継承は「prototypeチェーン」だからです。おいてある場所が違えば見えなくて当然ですね。個の銅バッジソースコードはスペース4つでインデントするとコードブロックとして扱われるので、__proto__のような記述もそのまま表示できるかと思います。15:00ところで「"function"以後はFireFox風に[1,2,3].forEach(func);可能」と書かれていますが、手元のChromeでは(特に自分で定義することなく)[1.2.3].forEach(func)が動作するように見えます。15:06アンダーバー、そうなんですね_!!ありがとうざいます。15:15Array.forEachは定義されていません。[1,2,3].forEach(func)で実行されるのはArray.prototype.forEachですから、Array.forEachの定義がないこととは関係ないのではないでしょうか。回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。