ホームページ > 記事 > ウェブフロントエンド > var、let、const の違いについて話しましょう (コード例)
この記事では、JavaScript に関する関連知識をお届けします。主に、var、let、const の違い、および ECMAScript と JavaScript の関係について紹介します。興味のある方はぜひご覧ください。皆さんのお役に立てば幸いです。 。
まず、ECMAScript と JavaScript にはどのような関係があるのでしょうか?
#1. var で宣言された変数は存在します変数プロモーション ですが、let と const
console.log(a); // undefined ===> a已声明还没赋值,默认得到undefined值 console.log(b); // 报错:b is not defined ===> 找不到b这个变量 console.log(c); // 报错:c is not defined ===> 找不到c这个变量 var a = 100; let b = 10; const c = 10; console.log(a);//a=100# には変数プロモーションがありません
## 2. let と const はブロック スコープ内でのみアクセスできますif(1){
var a = 100;
let b = 10;
const c = 1;
}
console.log(a); // 100
console.log(b) // 报错:b is not defined ===> 找不到b这个变量
console.log(c) // 报错:c is not defined ===> 找不到c这个变量
3. Let と const は同じスコープ内で同じ名前の変数を宣言できませんが、var canvar a = 100;
console.log(a); //控制台输出 100
var a = 10;
console.log(a); //控制台输出 10
let a = 100;
let a = 10;
// 控制台报错:Identifier 'a' has already been declared ===> 标识符a已经被声明了。
4. Const は定数を定義するため変更できませんが、オブジェクトの定義時にオブジェクトの属性値は変更できます
const a=2 a=3 console.log(a) //控制台报错
const person = { name : 'make', sex : '男' } person.name = 'test' console.log(person.name) //运行发现控制台没有报错,且 person.name 被成功修改
? ? ? ?どうしたの? オブジェクトは参照型であるため、実際に保存されるのは
のポインタのみであり、、そして最後にオブジェクトのプロパティを変更すると、オブジェクトのポインタは変更しないので、この状況は正常に変更されます。つまり、ポインタが変更されない限り、const で定義された参照型が許可されます。 次に、ポインタを変更して、
新しいオブジェクトを指すようにします
エラーが報告されます
const person = { name : 'make', sex : '男'}person = { name : 'test', sex : '男'}console.log(person.name) //控制台报错5. 概要
var 定義の## 推奨学習: 「JavaScript ビデオ チュートリアル 」変数
- 、
変数変数プロモーション、ブロックの概念はありません,クロスブロックアクセス可能。
let で定義された- はブロック スコープ内でのみアクセスでき、同じ名前の変数は宣言できません。
は初期化する必要がありますconst は、 定数
を定義するために使用されます。使用する場合、- (つまり、値を割り当てる必要があります)。同じ名前は宣言できません。
はブロック スコープ内でのみ にアクセスでき、 は を変更できませんが、オブジェクトの定義時にオブジェクトのプロパティ値を変更できます。 #関数をまたいでアクセスすることはできません
以上がvar、let、const の違いについて話しましょう (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。