Home > Web Front-end > JS Tutorial > How to declare constants in JavaScript

How to declare constants in JavaScript

醉折花枝作酒筹
Release: 2021-06-10 14:41:25
Original
5353 people have browsed it

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.

How to declare constants in JavaScript

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
Copy after login

Result:

> TypeError: Assignment to constant variable.
> 42
Copy after login

Syntax

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

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;
Copy after login

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);
Copy after login

Constant requires an initial value

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

const FOO;
Copy after login

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'];
Copy after login

[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!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template