ES7 只有兩個新特性
- includes():在之前,驗證陣列中是否存在某個元素,只能應indexOf來實現,但是現在我們可以使用ES7的新特性includes()來實現
let arr = ['react', 'angular', 'vue'];
if (arr.includes('react'))
{
console.log('react存在');
}
複製程式碼
- 指數操作符:使用自定義的遞迴函式calculateExponent或者Math.pow()進行指數運算,用了ES7就可以直接用指數運算子了(**)
function calculateExponent(base, exponent){
if (exponent === 1){
return base;
}
else{
return base * calculateExponent(base, exponent - 1);
}}
console.log(calculateExponent(7, 3));
console.log(Math.pow(7, 3));
複製程式碼
console.log(7**3);
執行的就是7的三次方(Math.pow(7,3))
複製程式碼
ES8的新特性
let obj = {a: 1, b: 2, c: 3}
Object.keys(obj).forEach((key) =>
{
console.log(obj[key]); // 輸出1, 2, 3
});
複製程式碼
let obj = {a: 1, b: 2, c: 3};
Object.entries(obj).forEach(([key, value]) =>
{
console.log(key + ": " + value); // 輸出a: 1, b: 2, c: 3
})
複製程式碼
Object.values({w:2,f:5})
// [2, 5]
複製程式碼
- 使用Object.entries():遍歷物件的屬性名和屬性值:
let obj = {a: 1, b: 2, c: 3};
Object.entries(obj).forEach(([key, value]) =>{
console.log(key + ": " + value); // 輸出a: 1, b: 2, c: 3
})
複製程式碼
async fetchData(query) =>{
try {
const response = await axios.get(`/q?query=${query}`);
const data = response.data;
return data; }
catch (error) {
console.log(error)
}}
fetchData(query).then(data =>{ this.props.processfetchedData(data)})
複製程式碼