ホームページ  >  記事  >  ウェブフロントエンド  >  es6 の let と const の違いは何ですか

es6 の let と const の違いは何ですか

青灯夜游
青灯夜游オリジナル
2022-04-19 16:28:565062ブラウズ

違い: 1. Let は値と型を変更できる変数を宣言しますが、const は変更または再割り当てできない定数を宣言します; 2. let 変数は宣言後に初期化する必要がありません。 const 定数の場合、宣言したらすぐに初期化する必要があります; 3. const は常に固定アドレスを指しますが、let は固定ではありません。

es6 の let と const の違いは何ですか

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

let と const は、変数を宣言するために es6 で導入された 2 つの新しいキーワードです。広く知られている var 変数も引き続き使用できますが、より強力なツールが 2 つあります。let と const を使用します。

es6 における let と const の違い

① Let は変数を宣言し、その値と型を変更できます。const は A を宣言します。値と型を変更できない定数。

② let 変数は宣言後に初期化する必要はありませんが、const 定数は宣言したらすぐに初期化する必要があり、後で値を割り当てることはできません。

const i ; // 报错,一旦声明,就必须立即初始化
const j = 5;
j = 10; // 报错,常量不可以改变

③ const は常に固定アドレスを指しますが、let は固定ではありません

const foo = {};
 
// 为 foo 添加一个属性,可以成功
foo.prop = 123;
foo.prop // 123
 
// 将 foo 指向另一个对象,就会报错
foo = {}; // TypeError: "foo" is read-only

上記のコードでは、定数 foo にアドレスが格納され、このアドレスはオブジェクトを指します。不変なのはこのアドレスのみです。つまり、foo が別のアドレスを指すことはできませんが、オブジェクト自体は変更可能であるため、新しいプロパティをオブジェクトに追加することはできます。

注:

配列やオブジェクトなどの複合型変数の場合、変数名はデータを指すのではなく、データが配置されているアドレスを指します。 const は、変数名が指すアドレスが変更されないことを保証するだけで、そのアドレスのデータが変更されないことは保証されないため、複合型変数を定数として宣言する場合は十分に注意する必要があります。

const arr = [];
// 报错,[1,2,3]与[]不是同一个地址
arr = [1,2,3];
const arr = [];
// 不报错,变量名arr指向的地址不变,只是数据改变
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
console.log(arr.length); // 输出:3

es6 の let と const の類似点:

① 宣言が配置されているブロックレベルのスコープ内でのみ有効です。

② 宣言による昇進はなく、宣言された位置の後にのみ使用できる一時的なデッドゾーンがあります。

<script type="text/javascript">
console.log(dadi);
let dadi = 569;
</script>

結果: エラーが報告されます

es6 の let と const の違いは何ですか

③ 反復可能な宣言は許可されません。

【関連する推奨事項: JavaScript ビデオ チュートリアル Web フロントエンド ]

以上がes6 の let と const の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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