ES6(ES2015)新特性

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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值