Rumah  >  Artikel  >  hujung hadapan web  >  Adakah sintaks es6 satu standard?

Adakah sintaks es6 satu standard?

青灯夜游
青灯夜游asal
2022-10-21 16:38:07890semak imbas

Sintaks ES6 ialah standard. Nama penuh ES6 ialah ECMAScript 6, yang merupakan piawaian yang dikeluarkan secara rasmi untuk bahasa JavaScript Matlamat standard ini adalah untuk membolehkan bahasa JavaScript digunakan untuk menulis aplikasi berskala besar yang kompleks dan menjadi bahasa pembangunan peringkat perusahaan. Hubungan antara ECMAScript dan JavaScript ialah: yang pertama adalah spesifikasi yang kedua, dan yang terakhir adalah pelaksanaan yang pertama.

Adakah sintaks es6 satu standard?

Persekitaran pengendalian tutorial ini: sistem Windows 7, ECMAScript versi 6, komputer Dell G3.

Nama penuh ES6 ialah ECMAScript 6, yang merupakan standard yang dikeluarkan secara rasmi untuk bahasa JavaScript Matlamat standard ini adalah untuk membolehkan bahasa JavaScript digunakan untuk menulis aplikasi berskala besar yang kompleks dan menjadi bahasa pembangunan peringkat perusahaan.

ES6 ialah standard generasi baharu untuk bahasa JavaScript yang dikeluarkan selepas ES5 Ia menambahkan banyak ciri dan sintaks baharu Versi rasmi standard itu dikeluarkan pada 17 Jun 2015, dan dinamakan secara rasmi ES2015.

Hubungan antara ECMAScript dan JavaScript ialah yang pertama adalah spesifikasi yang kedua, dan yang kedua adalah pelaksanaan yang pertama (dialek ECMAScript lain termasuk JScript dan ActionScript)

2011 , selepas keluaran ECMAScript versi 5.1, pembangunan versi 6.0 bermula. Oleh itu, makna asal perkataan ES6 merujuk kepada versi bahasa JavaScript yang seterusnya. Versi pertama ES6 telah dikeluarkan pada Jun 2015, dan nama rasminya ialah "ECMAScript 2015 Standard" (pendek kata ES2015). Pada Jun 2016, "ECMAScript 2016 Standard" yang disemak sedikit (disingkatkan ES2016) telah dikeluarkan seperti yang dijadualkan Versi ini boleh dianggap sebagai versi ES6.1, kerana perbezaan antara kedua-duanya adalah sangat kecil dan pada dasarnya adalah standard yang sama. . Mengikut rancangan itu, standard ES2017 akan dikeluarkan pada Jun 2017.

Oleh itu, ES6 ialah istilah sejarah dan istilah umum Ia bermaksud piawaian JavaScript generasi seterusnya selepas versi 5.1, meliputi ES2015, ES2016, ES2017, dsb., manakala ES2015 ialah nama rasmi, secara khusus merujuk. kepada Versi rasmi standard bahasa yang dikeluarkan pada tahun itu. Apabila kita bercakap tentang ES6, kita biasanya merujuk kepada standard ES2015, tetapi kadangkala kita juga merujuk kepada "bahasa JavaScript generasi seterusnya" secara umum.

1. Binaan skop blok let dan const

Skop blok wujud di dalam: function , block ( iaitu: kawasan antara aksara " { " dan " } ")

1.biar isytiharkan

  • melalui pengisytiharan var Terdapat pembolehubah mekanisme promosi untuk pembolehubah, tetapi pembolehubah yang diisytiharkan oleh let tidak akan dipromosikan Skop pembolehubah boleh dihadkan kepada blok kod semasa
//通过var声明的变量
  //函数内部
        function changeState(flag) {
            if (flag) {
                var color = "red"
            } else {
                console.log(color);
                return null;
            }
        }
        changeState(false);
   //块中
        {
            var a = 1;
        }
        console.log("a=" + a);
   //for循环中
        for (var i = 0; i <p><img src="https://img.php.cn/upload/image/162/737/761/1666341173585140.png" title="1666341173585140.png" alt="Adakah sintaks es6 satu standard?"></p><pre class="brush:php;toolbar:false"> //通过let声明的变量
            //函数内部
            function changeState(flag) {
                if (flag) {
                    let color = "red"
                } else {
                    console.log(color);
                    return null;
                }
            }
            changeState(false);
       
            //块中
            {
                let a = 1;
            }
            console.log("a=" + a);
      
            //for循环中
            for (let i = 0; i  <.><p><img src="https://img.php.cn/upload/image/465/191/909/166634117986532Adakah%20sintaks%20es6%20satu%20standard?" title="166634117986532Adakah sintaks es6 satu standard?" alt="Adakah sintaks es6 satu standard?"></p>
<ul>Dalam skop yang sama, anda tidak boleh menggunakan let untuk berulang kali mengisytiharkan pengecam sedia ada, tetapi jika ia berada dalam skop yang berbeza, ia boleh dilakukan. <li>
</ul>
<pre class="brush:php;toolbar:false">// 在同一作用域下,不能使用let重复声明已经存在的标识符,但如果在不同的作用域下,则是可以的
    var a=0;
    var b=0;
    {
        let a=0;
    }
    let b=0;

Adakah sintaks es6 satu standard?

    Menggunakan let untuk mengisytiharkan pembolehubah boleh menghalang pengisytiharan pembolehubah berulang
 		var a=0;
        var a=10;//ok
        var b=1
        let b=100;

Adakah sintaks es6 satu standard?

2.pengisytiharan const

    Setiap pembolehubah yang diisytiharkan melalui kata kunci const mesti dimulakan pada masa yang sama seperti yang diisytiharkan
  • dalam peranan yang sama Menggunakan const untuk mengisytiharkan pengecam sedia ada dalam domain juga akan menyebabkan ralat sintaks
  • Menggunakan const untuk mengisytiharkan objek, pengikatan objek itu sendiri tidak boleh diubah suai, tetapi sifat dan nilai objek boleh diubah suai
   	const person={
            name:"zhangSan"
        };
        person.name="lisi";	 //ok
        person.age=19;	//ok
        
        person={
            name:"wangwu"
        };

Adakah sintaks es6 satu standard?

3. Pengikatan skop blok global

    Pembolehubah atau objek yang diisytiharkan menggunakan var dalam skop global. akan digunakan sebagai persekitaran penyemak imbas Sifat objek tetingkap dalam (menggunakan var berkemungkinan akan menimpa sifat global sedia ada secara tidak sengaja)
 		var greeting="welcome";
        console.log(window.greeting);
        console.log(window.Screen);
        var Screen="liquid crystal";
        console.log(window.Screen);

Adakah sintaks es6 satu standard?

    Gunakan let atau const Isytiharkan pembolehubah dan pemalar untuk mengelak daripada mengatasi sifat objek tetingkap
 		let greeting="welcome";
        console.log(window.greeting);
        console.log(window.Screen);
        const Screen="liquid crystal";
        console.log(window.Screen==Screen);

Adakah sintaks es6 satu standard?

Ringkasan

  • 通过var声明的变量存在变量提升机制,而let声明的变量不会被提升,可将变量的作用域限制在当前代码块中
  • 在同一作用域下,不能使用let重复声明已经存在的标识符,但如果在不同的作用域下,则是可以的
  • 使用let声明变量,可以防止变量的重复声明
  • 每个通过const关键字声明的变量必须在声明的同时进行初始化
  • 在同一作用域下用const声明已经存在的标识符也会导致语法错误
  • 使用const声明对象,对象本身的绑定不能修改,但对象的属性和值是可以修改的
  • 在全局作用域中使用var声明的变量或对象,将作为浏览器环境中的window对象的属性(使用var很可能会无意中覆盖一个已经存在的全局属性)
  • 使用let或const声明变量和常量,避免覆盖window对象的属性

二、解构赋值

解构赋值是对赋值运算符的扩展。

他是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值。

在代码书写上简洁且易读,语义更加清晰明了;

也方便了复杂对象中数据字段获取。

//1、数组解构
// 传统
let a = 1, b = 2, c = 3
console.log(a, b, c)
// ES6
let [x, y, z] = [1, 2, 3]
console.log(x, y, z)
/*********************************************************************************************************/
/*********************************************************************************************************/
//2、对象解构
let user = {name: &#39;Johon&#39;, age: 18}
// 传统
let name1 = user.name
let age1 = user.age
console.log(name1, age1)
// ES6
let { name, age } = user//注意:解构的变量必须和user中的属性同名
console.log(name, age)

三、模板字符串

模板字符串相当于加强版的字符串,用反引号 `,除了作为普通字符串,还可以用来定义多行字符串,

还可以在字符串中加入变量和表达式。

// 字符串插入变量和表达式。变量名写在 ${} 中,${} 中可以放入 JavaScript 表达式。
let name = &#39;Kuangshen&#39;
let age = 27
let info = `My Name is ${name},I am ${age+1} years old next year.`
console.log(info)
// My Name is Kuangshen,I am 28 years old next year.

四、声明对象简写

const age = 12
const name = &#39;小王&#39;
// 传统
const person1 = {age: age, name: name}
console.log(person1)
// ES6
const person2 = {age, name}
console.log(person2) //{age: 12, name: &#39;小王&#39;}

五、定义方法简写

// 传统
const person1 = {
sayHi:function(){
console.log(&#39;Hi&#39;)
}
}
person1.sayHi();//&#39;Hi&#39;
// ES6
const person2 = {
sayHi(){
console.log(&#39;Hi&#39;)
}
}
person2.sayHi() //&#39;Hi&#39;

六、对象拓展运算符

符号 (...)

let person = {nameL:"oAk",age:23}
let someone1 = persion // 引用赋值
let someone2 = { ...person } // 对象拷贝
someone1.name = &#39;oAk_OLD&#39;
someone2.name = &#39;oAk_NEW&#39;
console.log(persion) // {name:&#39;oAk_OLD&#39;, age:23}
console.log(someone1) // {name:&#39;oAk_OLD&#39;, age:23}
console.log(someone2) // {name:&#39;oAk_NEW&#39;, age:23}

【相关推荐:javascript视频教程编程视频

Atas ialah kandungan terperinci Adakah sintaks es6 satu standard?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Adakah memerlukan sintaks es6?Artikel seterusnya:Adakah memerlukan sintaks es6?