ホームページ  >  記事  >  ウェブフロントエンド  >  es6 構文は標準ですか?

es6 構文は標準ですか?

青灯夜游
青灯夜游オリジナル
2022-10-21 16:38:07904ブラウズ

es6 構文は標準です。 ES6 の正式名は ECMAScript 6 で、これは JavaScript 言語用に正式にリリースされた標準です。この標準の目標は、JavaScript 言語を使用して複雑な大規模アプリケーションを記述し、エンタープライズ レベルの開発言語になることを可能にすることです。 ECMAScript と JavaScript の関係は、前者は後者の仕様、後者は前者の実装です。

es6 構文は標準ですか?

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

ES6 の正式名は ECMAScript 6 で、これは JavaScript 言語用に正式にリリースされた標準です。この標準の目標は、JavaScript 言語を使用して複雑な大規模アプリケーションを作成し、エンタープライズレベルの開発言語。

ES6 は、ES5 の後にリリースされた JavaScript 言語の新世代標準であり、多くの新機能や構文が追加され、2015 年 6 月 17 日に正式版としてリリースされ、正式名称は ES2015 となりました。

ECMAScript と JavaScript の関係は、前者が後者の仕様であり、後者が前者の実装であるということです (他の ECMAScript 方言には JScript や ActionScript が含まれます)

2011 年、ECMAScript バージョン 5.1 のリリース後、バージョン 6.0 の開発が始まりました。したがって、ES6 という言葉の本来の意味は、JavaScript 言語の次のバージョンを指します。 ES6の最初のバージョンは2015年6月にリリースされ、正式名称は「ECMAScript 2015 Standard」(略称ES2015)です。 2016 年 6 月には予定通り、若干修正された「ECMAScript 2016 Standard」(以下、ES2016)がリリースされましたが、両者の違いは非常に小さく、基本的には同じであるため、このバージョンは ES6.1 バージョンとみなすことができます。標準。計画によれば、ES2017 規格は 2017 年 6 月にリリースされる予定です。

したがって、ES6 は歴史的な用語であると同時に一般的な用語でもあり、ES2015、ES2016、ES2017 などを含むバージョン 5.1 以降の JavaScript の次世代標準を意味しますが、ES2015 は正式名称であり、具体的には以下のことを指します。その年にリリースされた言語標準の正式バージョン。 ES6 について話すときは、一般に ES2015 標準を指しますが、一般的に「次世代 JavaScript 言語」を指すこともあります。

1. ブロック スコープの構成 let および const

ブロック スコープは次の内部に存在します: function 、 block (例: " { " と " } " の間の領域)

1.let ステートメント

  • var で宣言されている変数があります変数の昇格メカニズムですが、let で宣言された変数は昇格されません。変数のスコープは現在のコード ブロックに制限できます
  • #
//通过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>#</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 <img src="https://img.php.cn/upload/image/162/737/761/1666341173585140.png" title="1666341173585140.png" alt="es6 構文は標準ですか?"><p><img src="https://img.php.cn/upload/image/465/191/909/166634117986532es6%20%E6%A7%8B%E6%96%87%E3%81%AF%E6%A8%99%E6%BA%96%E3%81%A7%E3%81%99%E3%81%8B?" title="166634117986532es6 構文は標準ですか?" alt="es6 構文は標準ですか?"></p>同じスコープ内では let を使用して既存の識別子を繰り返し宣言することはできませんが、別のスコープ内であれば可能です。 
    #
// 在同一作用域下,不能使用let重复声明已经存在的标识符,但如果在不同的作用域下,则是可以的
    var a=0;
    var b=0;
    {
        let a=0;
    }
    let b=0;
  • #let を使用して変数を宣言すると、変数の繰り返し宣言を防ぐことができますes6 構文は標準ですか?#

     		var a=0;
            var a=10;//ok
            var b=1
            let b=100;
    2.const 宣言

    es6 構文は標準ですか?

    ##const キーワードで宣言されたすべての変数は、宣言と同時に初期化する必要があります

    同じスコープで const を使用する既存の識別子を宣言すると構文エラーも発生します

    オブジェクトの宣言には const を使用します。オブジェクト自体のバインディングは変更できませんが、オブジェクトのプロパティと値は変更できます
    •    	const person={
                  name:"zhangSan"
              };
              person.name="lisi";	 //ok
              person.age=19;	//ok
              
              person={
                  name:"wangwu"
              };
    • 3. グローバル ブロック スコープ バインディング

    グローバル スコープで var を使用して宣言された変数またはオブジェクトは、ウィンドウ オブジェクトの属性として使用されます。ブラウザ環境 (var を使用すると、既存のグローバル プロパティが誤って上書きされる可能性があります) es6 構文は標準ですか?

     		var greeting="welcome";
            console.log(window.greeting);
            console.log(window.Screen);
            var Screen="liquid crystal";
            console.log(window.Screen);

    • 上書きを避けるために、let または const を使用して変数と定数を宣言しますwindow オブジェクトのプロパティ

     		let greeting="welcome";
            console.log(window.greeting);
            console.log(window.Screen);
            const Screen="liquid crystal";
            console.log(window.Screen==Screen);
    es6 構文は標準ですか?
    • 概要

    es6 構文は標準ですか?

    • 通过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视频教程编程视频

    以上がes6 構文は標準ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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