Heim > Artikel > Web-Frontend > Lassen Sie uns über die Unterschiede zwischen var, let und const sprechen (Codebeispiel)
Dieser Artikel vermittelt Ihnen relevantes Wissen über JavaScript. Er stellt Ihnen hauptsächlich die Unterschiede zwischen var, let und const vor und stellt auch die Beziehung zwischen ECMAScript und JavaScript vor. Ich hoffe, es hilft allen.
Welche Beziehung besteht zunächst zwischen ECMAScript und 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
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可以
var 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 被成功修改
????这是怎么回事呢?
JavaScript besteht aus ECMAScript, DOM und BOM. Es kann einfach so verstanden werden: ECMAScript ist die Sprachspezifikation von JavaScript, und JavaScript ist die Implementierung und Erweiterung von ECMAScript.
Was ist der Unterschied zwischen var, let und const? 1. Es gibt eine Variablen-Promotion
für var-deklarierte Variablen, aber keine Variablen-Promotion für let und const
const person = { name : 'make', sex : '男'}person = { name : 'test', sex : '男'}console.log(person.name) //控制台报错
2. Auf let und const kann nur im Blockbereich zugegriffen werden. 4. Const definiert Konstanten und kann nicht geändert werden, aber der Objektattributwert kann geändert werden, wenn das Objekt definiert wird
JavaScript-Video-Tutorial🎜“🎜? ? ? ? Was ist los?
- , es gibt kein Konzept von Blöcken,
Da es sich bei dem Objekt um einen Referenztyp handelt, speichert die Person nur den Zeiger des Objekts, und das Ändern der Eigenschaften des Objekts ändert nicht den Zeiger des Objekts, sodass diese Situation erfolgreich geändert werden kann. Mit anderen Worten: Durch const definierte Referenztypen sind zulässig, solange sich der Zeiger nicht ändert. Next Wir versuchen, den Zeiger zu ändern, Let -Person verweist auf ein neues Objekt
und schließlich wird ein Fehler gemeldet. Förderung- kann blockübergreifend zugegriffen werden
,. let-definierte
Variablen- kann nur im Blockbereich zugegriffen werden
, aber in den definierten Objekteigenschaftenwerten können sich ändern, wenn ein Objekt verwendet wird.und Variablen mit demselben Namen können nicht deklariert werden. const wird verwendet, um Konstanten zu definieren. Bei Verwendung muss initialisiert werden (d. h. es muss ein Wert zugewiesen werden, auf den nur im Block zugegriffen werden kann). Gültigkeitsbereich und
können nicht geändert werdenAuf keine davon kann funktionsübergreifend zugegriffen werden
Das obige ist der detaillierte Inhalt vonLassen Sie uns über die Unterschiede zwischen var, let und const sprechen (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!