ES 6はどんな新しい特性がありますか?

2515 ワード

目次
1.背景紹介
2.知識分析
3.よくある問題
4.ソリューション
5.コード実戦
6.考えを広げる
7.参考文献
8.より多くの議論
1.背景紹介
ES 6はJavaScript言語の新しい標準で、2015年6月に正式に発表されました.JavaScript言語は複雑な大規模なアプリケーションを作成し、企業レベルの開発言語になることを目標としています.
2.知識分析
構成を解く
ES 6は、一定のパターンに従って、配列とオブジェクトから値を抽出し、変数に値を割り当てることができます.
                let a = 1;
                let b = 2;
                let c = 3;
                ES6      :
                let [a, b, c] = [1, 2, 3];
            
オブジェクトの解凍
                let p ={a:1,b:2}
                let {a,b}=p
                //a = 1; b = 2
            
テンプレート文字列
            let week = 1
            let day  = 28
            console.log(`   ${day} , ${week}`)  //   28 , 1
            
ES 5の文字列スティッチング
            let week = 1
            let day  = 28
            console.log("   "+day+" , "+"week")  //   28 , 1
            
letコマンド
ES 6は、変数を宣言するためにletコマンドを追加しました.その使い方はvarに似ていますが、宣言された変数はletコマンドがあるコードブロック内でのみ有効です.
            {
  let a = 10;
  var b = 1;
}
a/ReferenceError:a is not defined.b/1
forループによく似合います.
変数の昇格は存在しません.
letの一時死区
                if (true) {
  // TDZ  
  tmp = 'abc'; // ReferenceError
  console.log(tmp); // ReferenceError
let tmp;//TDZ終了consoline.logs(tmp)//undefined
tmp=123;consolie.log(tmp)//123}変数tmpを宣言する前にはすべてtmpのデッドゾーンに属しています.使用するとエラーが発生します.
3.よくある問題
解賦価値にはまたどんな使い方がありますか?
4.ソリューション
                let {log,warn} = console;
                log('hello');
                console.log('hello')
                console     ,    console log          log,log  console.log  
5.コード実戦
6.考えを広げる
何か新しい属性がありますか?
メソッドのname属性を追加し、メソッド名を返します.
            let p ={
    go:function () {
        console.log(123)

    }
}
    p.go.name //go
7.参考文献
http://es6.ruanyifeng.com/#docs/object
8より多くの議論
1,ブロックレベルのスコープは何ですか?
letは実際にJavaScriptのためにブロックレベルのスコープを追加しました.
function f 1(){let n=5;if(true){let n=10;}consone.log(n)//5}
上の関数には二つのコードブロックがあります.変数nを宣言して、実行後に5を出力します.これは、外層コードブロックが内層コードブロックの影響を受けないことを意味する.二回ともvar定義変数nを使用すれば、最後に出力される値は10です.
2.constの使い方
constは読み取り専用の定数を宣言します.一度声明したら定数の値は変更できません.constのスコープはletコマンドと同じです.声明があるブロックレベルのスコープ内でのみ有効です.
3,オブジェクトを簡単に書く?
function f(x,y){return{x,y}
//に等しい
function f(x,y){return{x:x,y:y}
f(1,2)//Object{x:1,y:2}