TECH I.S.

JavaScript 配列定数


ECMAScript 2015(ES6)

2015年、JavaScriptは新しいキーワードconstを導入しました。

constを使用して配列を宣言するのが一般的な方法になりました。

const cars = ["Saab", "Volvo", "BMW"];


再割り当て不可

constで宣言された配列は再割り当てできません。

const cars = ["Saab", "Volvo", "BMW"]; cars = ["Toyota", "Volvo", "Audi"];    // ERROR


配列は定数ではない

const少し誤解を招きます。

定数配列を定義しません。配列への定数参照を定義します。

このため、定数配列の要素を変更できます。


要素を再割り当て可能

定数配列の要素を変更できます。

// You can create a constant array: const cars = ["Saab", "Volvo", "BMW"]; // You can change an element: cars[0] = "Toyota"; // You can add an element: cars.push("Audi");


ブラウザのサポート

constは Internet Explorer10以前ではサポートされていません。

次の表は、constをサポートしているブラウザです。


Chrome 49 IE11/Edge Firefox 36 Safari 10 Opera 36
2016年3月 2013年10月 2015年2月 2016年9月 2016年3月


宣言時に割り当て

JavaScriptのconst変数は、宣言時に値を割り当てる必要があります。

constで宣言された配列は宣言時に初期化する必要があります。 constは配列を初期化しないと、構文エラーになります。

これは機能しません:

const cars; cars = ["Saab", "Volvo", "BMW"];
varで宣言された配列はいつでも初期化できます。

宣言する前に配列を使用することもできます。

これで機能します。

cars = ["Saab", "Volvo", "BMW"]; var cars;


Constブロックのスコープ

constで宣言された配列はブロックスコープを持っています。

ブロック内で宣言された配列は、ブロック外で宣言された配列と同じではありません:

const cars = ["Saab", "Volvo", "BMW"]; // Here cars[0] is "Saab" {   const cars = ["Toyota", "Volvo", "BMW"];   // Here cars[0] is "Toyota" } // Here cars[0] is <b>"Saab"</b>

varで宣言された配列にはブロック・スコープがありません:

var cars = ["Saab", "Volvo", "BMW"]; // Here cars[0] is "Saab" {   var cars = ["Toyota", "Volvo", "BMW"];   // Here cars[0] is "Toyota" } // Here cars[0] is <b>"Toyota"</b>

ブロックスコープの詳細については、JavaScript スコープ
を参照してください。



配列の再宣言

varで宣言された配列の再宣言はプログラム内のどこでも使用できます。

var cars = ["Volvo", "BMW"];   // Allowed var cars = ["Toyota", "BMW"];  // Allowed cars = ["Volvo", "Saab"];      // Allowed
const配列の再宣言または再割り当て、同じスコープまたは同じブロックでは許可されていません。

var cars = ["Volvo", "BMW"];     // Allowed const cars = ["Volvo", "BMW"];   // Not allowed {   var cars = ["Volvo", "BMW"];   // Allowed   const cars = ["Volvo", "BMW"]; // Not allowed }

既存のconst再宣言または再割り当て同じスコープまたは同じブロック内の配列は許可されていません。

const cars = ["Volvo", "BMW"];   // Allowed const cars = ["Volvo", "BMW"];   // Not allowed var cars = ["Volvo", "BMW"];     // Not allowed cars = ["Volvo", "BMW"];         // Not allowed {   const cars = ["Volvo", "BMW"]; // Allowed   const cars = ["Volvo", "BMW"]; // Not allowed   var cars = ["Volvo", "BMW"];   // Not allowed   cars = ["Volvo", "BMW"];       // Not allowed }
constで配列を再宣言する場合、別のスコープまたは別のブロックで許可されます。

const cars = ["Volvo", "BMW"];   // Allowed {   const cars = ["Volvo", "BMW"]; // Allowed } {   const cars = ["Volvo", "BMW"]; // Allowed }

完全な配列リファレンス

配列の完全なリファレンスについては、完全な JavaScript 配列リファレンスを参照してください。

このリファレンスには、配列のすべてのプロパティとメソッドの説明と例が含まれています。


プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細