JavaScriptで定数を宣言する方法

醉折花枝作酒筹
醉折花枝作酒筹オリジナル
2021-06-10 14:41:255351ブラウズ

js では、const キーワードを使用して定数を宣言でき、構文形式は「const name=value;」です。 const 宣言は値への読み取り専用の参照を作成しますが、これは保持する値が不変であることを意味するのではなく、変数識別子を再割り当てできないことを意味します。

JavaScriptで定数を宣言する方法

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

const、定数の宣言に使用されます。

注: 変数を定義するときは、同時に初期化する必要があり、後でその値を変更することはできません。

const number = 42;

try {
  number = 99;
} catch (err) {
  console.log(err);
  // expected output: TypeError: invalid assignment to const `number'
  // Note - error messages will vary depending on browser
}

console.log(number);
// expected output: 42

結果:

> TypeError: Assignment to constant variable.
> 42

構文

const name1 = value1 [, name2 = value2 [, ... [, nameN = valueN]]];

nameN 定数名。任意の有効な識別子を指定できます。 valueN は定数値であり、任意の正当な式を使用できます。

説明

この宣言は、スコープが宣言されたブロックに対してグローバルまたはローカルになる定数を作成します。 var 変数とは異なり、グローバル定数は window オブジェクトのプロパティにはなりません。定数の初期化子は必須です。つまり、宣言と同じステートメントでその値を指定する必要があります (後で変更できないため、これは当然のことです)。

const 宣言は、値への読み取り専用の参照を作成します。ただし、それは保持する値が不変であるという意味ではなく、変数識別子を再割り当てできないというだけです。たとえば、参照されるコンテンツがオブジェクトである場合、これは、オブジェクトのコンテンツ (たとえば、そのパラメータ) を変更できることを意味します。

「一時的なデッドゾーン」に関する議論はすべて let と const に当てはまります。

定数は、そのスコープ内の他の変数または関数と同じ名前を持つことはできません。

const 基本的な使用法

定数は大文字または小文字で宣言できますが、通常はすべて大文字が使用されます。

// 定义常量MY_FAV并赋值7
const MY_FAV = 7;

// 报错 - Uncaught TypeError: Assignment to constant variable.
MY_FAV = 20;

// MY_FAV is 7
console.log('my favorite number is: ' + MY_FAV);

// 尝试重新声明会报错
// Uncaught SyntaxError: Identifier 'MY_FAV' has already been declared
const MY_FAV = 20;

// MY_FAV 保留给上面的常量,这个操作会失败
var MY_FAV = 20;

// 也会报错
let MY_FAV = 20;

ブロック スコープ

ブロック スコープの性質に注意することが重要です

if (MY_FAV === 7) {
  // 没问题,并且创建了一个块作用域变量 MY_FAV
  // (works equally well with let to declare a block scoped non const variable)
  let MY_FAV = 20;

  // MY_FAV 现在为 20
  console.log('my favorite number is ' + MY_FAV);

  // 这被提升到全局上下文并引发错误
  var MY_FAV = 20;
}

// MY_FAV 依旧为7
console.log('my favorite number is ' + MY_FAV);

定数には初期値が必要です

// 报错
// Uncaught SyntaxError: Missing initializer in const declaration

const FOO;

定数は次のように定義できます。オブジェクトと配列

const MY_OBJECT = {'key': 'value'};

// 重写对象和上面一样会失败
// Uncaught TypeError: Assignment to constant variable.
MY_OBJECT = {'OTHER_KEY': 'value'};

// 对象属性并不在保护的范围内
// 下面这个声明会成功执行
MY_OBJECT.key = 'otherValue'; // Use Object.freeze() to make object immutable

// 也可以用来定义数组
const MY_ARRAY = [];
// 可以向数组填充数据
MY_ARRAY.push('A'); // ["A"]
// 但是,将一个新数组赋给变量会引发错误
// Uncaught TypeError: Assignment to constant variable.
MY_ARRAY = ['B'];

[推奨学習: JavaScript 上級チュートリアル ]

以上がJavaScriptで定数を宣言する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。