這裡只寫一些補充的和遺漏的知識點
var beyond=
//為物件定義方法
beyond.showartist=function()和$`
function kitchen(strings,...values)
下圖為輸出的結果
以上strings輸出的為字元,values輸出的為變數。
function breakfast(dessert='cake',drink='juice')$`
}console.log(breakfast()) //cake juice
//展開操作符
eat=['chiken',...fruits]
//剩餘操作符
function breakfast(dessert,drink,...foods)
function breakfast(dessert,drink,={})breakfast(dessert,drink,)
function breakfast(arguments){}
console.log(breakfast.name) //breakfast
let breakfast=function(arguments){}
console.log(breakfast.name) //breakfast
let breakfast=function superbreakfast(arguments){}
console.log(breakfast.name) //superbreakfast
let breakfast=(dessert,drink)=>dessert+drink;
//編譯後
let breakfast=function(dessert,drink)
drink='juice'
let breakfast=
}//因為物件中的屬性名與變數名相同,所以就不用再給屬性賦值了
//判斷兩個值是否相等
object.is(nan,nan) //true
//把乙個物件的值賦值到另乙個物件裡
let breakfast={}
object.assign(
breakfast,
)//設定物件
let breakfast=
}let dinner=
}let sunday=object.create(breakfast);
console.log(sunday.getdrink()) //tea
console.log(object.getprototypeof(sunday)==breakfast) //true
object.setprototypeof(sunday,dinner)
console.log(sunday.getdrink()) //juice
console.log(object.getprototypeof(sunday)==dinner) //true
let breakfast=
}let dinner=
}let sunday=
console.log(sunday.getdrink()) //tea
sunday.__proto__=dinner;
console.log(sunday.getdrink()) //juice
let breakfast=
}let dinner=
}let sunday=
}console.log(sunday.getdrink()) //tea banana
function chef(foods)}}
}let wang=chef(['tomato','egg'])
console.log(wang.next())
function* chef(foods)
get menu()
set menu(dish)
cook()
}let wang=new chef();
console.log(wang.menu='daxia') //daxia
console.log(wang.menu='pisa') //pisa
console.log(wang.menu) //['daxia','pisa']
靜態方法static:不需要例項化就可以直接操作
class chef
static cook(food)
}chef.cook('banana');
繼承:extends
class person
intro(),$`
}}class chef extends person
}let fu=new chef('fujing','1990-01-23')
console.log(fu.intro()) //fujing,1990-01-23
desserts.add('banana'); //新增,注意不能新增重複的
console.log(desserts.size) //長度
console.log(desserts.has('ice')) //判斷是否含有某東西
desserts.delete('ice');
//迴圈
desserts.foreach(dessert=>)
desserts.clear() //清空
let food=new map()
let fruit={}, cook=function(){}, dessert='甜點';
food.set(fruit,'lemon')
food.set(cook,'dao')
food.set(dessert,'cookie')
console.log(food.size) //獲取個數
console.log(food.get(fruit)) //獲取某個
console.log(food.has(fruit)) //判斷是否含有
food.delete(fruit) //刪除
//迴圈
food.foreach((value,key)=>,$`)
})food.clear() //清空
//匯出
export
//匯入
import from './chef.js'
import * as chef from './chef.js' //匯出全部
//預設匯出
export default
ES6系列1 基礎入門
es5 只有全域性作用域和函式作用域 例如,我們必須將 包在函式內來限制作用域 這導致很多問題 es6中允許使用反引號 來建立字串,可以嵌入變數,也可以原生輸出.模板字串是為了解決使用 號拼接字串的不便利而出現的。它的功能非常強大,但是我們大多數時候使用它則非常簡單。1 es5輸出 2 es6輸出 ...
ES6新特性 Iterator和for of迴圈
迭代過程 獲取迭代器 指向當前資料結構的起始位置 通過物件的某些方法返回迭代器物件。如 多次呼叫iterator.next 向下迭代指向下乙個位置。當done為true時遍歷結束。如要重新迭代,需要重新獲取迭代器 從第1步重新開始 string array set map dom元素 開發中。obj...
ES6 新特性 map 和 reduce
陣列中新增了 map 和 reduce 方法。接收乙個函式,將原陣列中的所有元素用這個函式處理後放入新陣列返回。語法 arr.reduce callback,initialvalue reduce 為陣列中的每乙個元素依次執行 函式,不包括陣列中被刪除或從未被賦值的元 素,接受四個引數 1 prev...