職場でES6文法の使用法や注意事項に遭遇することは避けられません。私がまとめた知識の一部を以下に示します。欠陥やエラーがある場合は、是正したいと思います。
では、ES6で何が変更されたのでしょうか?
1.変数宣言
以前の文言:
var a;//声明一个变量a
var PI=3.14;//声明一个常量PI并赋值
ES6は書かれています:
let a;//声明一个变量a
const PI=3.14;//声明一个常量PI并赋值
LetおよびconstはES6で導入されました。これらはすべてブロックレベルのスコープであり、最も近いブロック(中括弧内)でのみ有効です。また、constで宣言された定数は変更できず、再度代入するとエラーが報告されます。
2.矢印機能(これを指す)
以前のアプローチ:
//在外部函数中将this存为一个变量,回调函数中使用该变量,而不是直接使用this。
var name = 'my name is window';
var obj = {
name: 'my name is 小佑@小佐',
fn: function () {
var that = this;
var timer = null;
clearInterval(timer);
timer = setInterval(function () {
console.log(that.name); //my name is 小佑@小佐
}, 1000)
}
}
ES6での記述:
var name = 'my name is window';
var obj = {
name: 'my name is 小佑@小佐',
fn: function () {
var timer = null;
clearInterval(timer);
timer = setInterval(() => {
console.log(this.name); //my name is 小佑@小佐
}, 1000)
}
}
これの方向性をまったく考慮する必要はありませんが、これは間違いなくエンジニアにとって大きな恩恵です。
3解体任務
はじめに:代入の分解は、書く前にES6で導入された効率的で簡潔な代入方法
です。
var first = someArray[0];
var second = someArray[1];
var third = someArray[2];
ES6は書かれています:
let [first, second, third] = someArray;
もちろん、前の変数を記述する必要はありません。つまり、次のような3番目の変数のみが割り当てられます。
let [,,third] = [1,2,3];
オブジェクトの分解もサポートされています。
let {name,age} = {name: "lisi", age: "20"};
console.log(name); //lisi
console.log(age); //20
より簡潔で理解しやすいようです。
4.テンプレート文字列
はじめに:ES6は、$ {...}などを含むことができる文字列を作成するためのバックティック`を提供します。
以前の言い回し:
“This is a pretty little template string”
要素やコンテンツを動的に作成する場合、文字列は長いことが多く、接合する必要があります。従来のアプローチは面倒でエラーが発生しやすいものです。
ES6は書かれています:
let name = "Bob", time = "today";
`Hello ${name}, how are you ${time}?`
どう?それははるかに便利なようです。
結論:もちろん、上記のES6の使用法に加えて、ES6構文には多くの症状があります。以下のような約束文法も学習やマスタリングの価値があります。以上が私が共有したES6の知識ポイントです。