コマンドとのconstましょう
ES6は、追加let
コマンドとconst
宣言変数に使用され、コマンドを。
1. letコマンド
let
コマンドは、declare変数に使用されています。変数は、それを宣言したlet
ブロックコマンドが配置されている有効範囲内。
{
let a = 10;
var b = 1;
}
a; // ReferenceError: a is not defined.
b; // 1
let
変数は表示されません、声明を指揮"变量提升"
現象。
// var声明的变量会出现变量提升
console.log(foo); // 'undefined'
var foo = 2;
// let声明的变量不会出现变量提升
console.log(bar); // 报错ReferenceError
let bar = 2;
ES6ブロックを提供let
し、const
変数宣言コマンド、閉じた範囲を形成します。エラーが報告される前に、文の中でこれらの変数を使用しようとする者たち。
{
// 变量未声明就使用,报错。
x= 'abc'; // Uncaught ReferenceError: Cannot access 'mm' before initialization
let x;
}
let
コマンドは、文が同じ変数を繰り返し、同じスコープを許可していません。
function func() {
let a = 10;
let a = 1; // Uncaught SyntaxError: Identifier 'a' has already been declared
}
2. constのコマンド
const
読み取り専用の定数を宣言します。宣言すると、定数の値を変更することはできません。
const PI = 3.1415926;
PI // 3.1415926
// 不能再次赋值
PI = 3; // VM1846:4 Uncaught TypeError: Assignment to constant variable
const
変数宣言があること、値を変更することはできませんconst
あなたは変数を宣言したら、あなたはすぐに初期化する必要があります。
// 声明时必须立即初始化
const size; // Uncaught SyntaxError: Missing initializer in const declaration
const
スコープとlet
コマンドと同じ:のみ、それが効果的に宣言された領域内のブロック・レベルの役割。
if (true) {
// 只在本作用域内有效
const MAX = 5;
}
MAX // Uncaught ReferenceError: MAX is not defined
const
定数宣言するだけでなく、とlet
同じ文を繰り返しません。
const yyy = 12;
// 不能重复声明变量
const yyy = 36; // Uncaught SyntaxError: Identifier 'yyy' has already been declared
const
変数宣言コマンドの値が保存されたデータのアドレスメモリ可変ポイントが変更されなくてもよいことは、実際には、変更することができません。データの単純なタイプの、そのメモリアドレスに格納された値は変数によって指さ、したがって定数に等しいです。しかし、複雑なデータ型のため、メモリアドレスへの可変ポイントは、ポインタは、実際のデータだけを保存するconst
ことは、データ構造を指すように、このポインタは固定されていることを確認することができることは変数ではなく、影響を受けません。
// 声明一个变量并赋值
const example = {};
// 为 example 添加一个属性,可以成功
example.x = 123;
// 将 example 指向另一个对象,就会报错
example= []; // Uncaught TypeError: Assignment to constant variable
3.説明
私は初心者です、これが自分の研究ノート、どんな質問である、と指摘してください!Eメール:[email protected]