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

let と const の違いは何ですか

青灯夜游
青灯夜游オリジナル
2020-12-24 12:02:3818672ブラウズ

違い: let で宣言された変数は変更でき、値と型の両方を変更できますが、const で宣言された定数は変更できません。つまり、const が宣言されるとすぐに初期化する必要があり、初期化することはできません。後で値を割り当てます。

let と const の違いは何ですか

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

関連する推奨事項: 「JavaScript ビデオ チュートリアル

let と const の違い:

##① let で宣言された変数は変更でき、値も型も変更できますが、const で宣言された定数は変更できません。つまり、const を宣言したらすぐに初期化する必要があり、代入することはできません。後で値を指定します。

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

②配列やオブジェクトなどの複合型変数の場合、変数名はデータを指すのではなく、データが配置されているアドレスを指します。 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

定義されたオブジェクトまたは配列のデータを変更したくない場合は、object.freeze(arr) を使用してフリーズできます。凍結とは、このオブジェクトまたは配列に新しい属性を追加できないこと、既存の属性の値を変更できないこと、および既存の属性を削除できないことを意味します。

const arr = [];
Object.freeze(arr);
// 不报错,但数据改变无效
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
console.log(arr.length); // 输出:0

let と const の類似点:

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

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

③ 繰り返しはできません。

プログラミング関連の知識について詳しくは、

プログラミング入門をご覧ください。 !

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

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