1、作用域
{ let a = "b"}2、恒量const
const fruit = [] fruit = ["我"] (错误) fruit.push("我")
3、解构
function breakfast(){ return ['包子','馒头','豆浆'] } let [a,b,c] = breakfast()
4、判断字符串是都含有其他字符串
let breakfast = 'jfghg' breakfast.startsWith('a') breakfast.endsWith('g') breakfast.includes('df')
5、给参数设置默认值以及模板字符串
function breakfast (dessert: 'b', drink: 'a') { return `${dessert} ${drink}` }
6、操作符(展开和剩余)
let temp = ['a', 'b'] console.log(temp) // ['a','b'] console.log(...temp) // a b let temp1 = ['c', ...temp] function temp2 (ch1, ch2, ...temp1) { }
7、箭头函数
let temp = (a, b) => a + b let temp = function temp (a, b) { return a + b }8、_proto_和super
let a = { getDir () { return 'dir' } } let b = { getDir () { return 'dir1' } } let c = { _proto_: a, getDir () { return super.getDir() + 'd' } }
9、Iterators迭代器
function createIterator (items) { var i = 0 return { next: function () { var done = (i >= items.length) var value = !done ? items[i++] : undefined return { done: done, value: value } } } } var iterator = createIterator([1, 2, 3]); console.log(iterator.next()) // "{ value: 1, done: false }" console.log(iterator.next()) // "{ value: 2, done: false }" console.log(iterator.next()) // "{ value: 3, done: false }" console.log(iterator.next()) // "{ value: undefined, done: true }" console.log(iterator.next()) // "{ value: undefined, done: true }"10、Generators生成器
function *createIterator () { yield 1 yield 2 yield 3 } // 生成器能像正规函数那样被调用,但会返回一个迭代器 let iterator = createIterator() console.log(iterator.next().value) // 1 console.log(iterator.next().value) // 2 console.log(iterator.next().value) // 3
11、继承extends
class Person { constructor (name, bir) { this.name = name this.bir = bir } info () { return `${this.name},${this.bir}` } } class Child extends Person { constructor (name, dir) { super(name, bir) } } let temp = new Child('liu', '1998-08-30')
12、Set(相当于一个数组,但是不能重复)
let temp = new Set('abc') temp.add('d') temp.size temp.delete('a') temp.clear()
13、Map(Key值不能使用对象)
let temp = new Map() let fruit = {} let cook = function () {} let dessert = '甜点' temp.set(fruit, 'a') temp.set(cook, 'b') temp.set(dessert, 'c') temp.size temp.get(fruit) temp.delete(cook) temp.has(dessert)