タイトルが言ったように、または宣言なしで直接使用できますか? (ばかげた質問に思えますが、これらの微妙な側面で問題が発生しないようにしたいのです。)
5 に答える
いいえ、ただし、すべての環境に同じ「組み込み」機能があるわけではないことに注意する必要があります...
Web ブラウザーをターゲットにしていると仮定すると、ブラウザーとそのバージョン番号によっては、すべて同じ機能を利用できるわけではありません。
たとえば、 のような配列操作関数や のような.map()
JSON 操作関数JSON.parse()
は比較的新しく追加されたもので、現在では最新のブラウザーで主流になっていますが、ほんの数年前までは存在するとは保証されていませんでした。
ターゲット プラットフォームによっては、注意が必要です。
ただし、別のライブラリを使用して、不足している機能を追加したり、それらをラップしたりすることができます (私のお気に入りの「ツールキット/ユーティリティ」ライブラリの 1 つは、たとえば underscore.js であり、より重いものには dojo.js です。他の人が好むjQuery、またはプロトタイプなど...)。これらは多くの場合、組み込み関数が存在する場合はその関数に委譲するか、必要に応じて独自の実装を使用するため、関数の存在を確認する必要がなくなります。
いいえ。ブラウザに組み込まれているものは自動的に存在します。何が組み込まれているかに関しては、ブラウザーごとに明らかに違いがありますが、現在、ほとんどのブラウザーは共通のコア セットを実装しています。
他の皆さんがおっしゃる通り、何も追加する必要はありません。JavaScript の実装に関しては、ブラウザーごとに違いがあるため、jQuery などのライブラリーが一般的です。それらは抽象としてこれらの違いを取り除きます。
いいえ。Javascript とは別のものはすべて自動的に含まれます。
残念ながら、すべてのブラウザーがすべてのメソッドを利用できるわけではありません (特に古いもの)。そのような場合、スクリプトに含めて修正できる解決策がたくさん投稿されています。たとえば、配列の .indexOf() メソッドは、古いバージョンの IE では使用できません。ただし、次のような非常に単純な関数を作成できます。
if (!Array.indexOf) {
// Replaces the "indexOf" method for arrays when not available.
// Used like array_var.indexOf(int)
Array.prototype.indexOf = function (obj) {
for (var i=0; i < this.length; i++) {
if (this[i] == obj) {
return i;
}
}
return -1;
}
}
JSON の使用を容易にする新しい方法がありますが、古いブラウザーでは使用できません。それらにも、ブラウザーがサポートしていない場合に備えて、人々が作成した単純な機能があります。
したがって、ほとんどの場合、おそらくすべての型、メソッド、関数、および使用したい Javascript の一部であるその他のものは、インポート、インクルード、または宣言なしで使用できます。