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