In js, you can use the const keyword to declare constants, and the syntax format is "const name=value;". The const declaration creates a read-only reference to a value, but this does not mean that the value it holds is immutable, just that the variable identifier cannot be reassigned.
The operating environment of this tutorial: windows7 system, javascript version 1.8.5, Dell G3 computer.
const, used to declare constants.
Note: When defining variables, they must be initialized at the same time, and their values cannot be modified later.
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
Result:
> TypeError: Assignment to constant variable. > 42
Syntax
const name1 = value1 [, name2 = value2 [, ... [, nameN = valueN]]];
nameN constant name, which can be any legal identifier. valueN is a constant value, which can be any legal expression.
Description
This declaration creates a constant whose scope can be global or local to the declared block. Unlike var variables, global constants do not become properties of the window object. An initializer for a constant is required; that is, you must specify its value in the same statement as the declaration (which makes sense, since it cannot be changed later).
The const declaration creates a read-only reference to a value. But that doesn't mean the value it holds is immutable, just that the variable identifier cannot be reassigned. For example, in the case where the referenced content is an object, this means that the object's contents (for example, its parameters) can be changed.
All the discussion about "temporary dead zone" applies to let and const.
A constant cannot have the same name as other variables or functions in its scope.
Example
const Basic usage
Constants can be declared in uppercase or lowercase letters, but usually all uppercase letters are used.
// 定义常量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;
Block scope
It is important to note the nature of block scope
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);
Constant requires an initial value
// 报错 // Uncaught SyntaxError: Missing initializer in const declaration const FOO;
Constant can be defined as an object and an array
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'];
[Recommended learning: javascript advanced tutorial]
The above is the detailed content of How to declare constants in JavaScript. For more information, please follow other related articles on the PHP Chinese website!