ES6二
作者:互联网
二.ES6
对象及函数的简写
对象里简写属性
var name = 'tom'
var obj = {
name // name: name, 键和值的变量名相同可以简写
}
对象里简写函数
var obj = {
eat() {
console.log('hello')
}
// 简写 省略了function
// eat: function() {
// console.log('hello')
// }
}
对象属性方法表达式
属性表达式
var obj {
['a' + 'b'] : 16
}
方法表达式
var obj {
['a' + b]() {
console.log('66')
}
}
对象的方法
Object.is()
// Object.is() 用来弥补==不足,他不会比较对象里的东西,而是直接比较对象的栈地址
NaN == NaN // false
Object.is(NaN, NaN) // true
Object.assign()
// Object.assign() 将后面内容拷贝给第一个 第一层拷贝值,第2层浅拷贝引用
var obj1 = {
name: '王五',
er: {
name: '李四'
}
}
var obj = {}
Object.assign(obj, obj1)
obj.er.name = 66 // 66 引用
obj1.er.name // 66 引用
set()集合 伪数组 一种数据结构
// set特性 元素不能重复 可以传入数组(有iterable迭代器都可以传入)
var set = new Set()
// add() 添加数据 返回set
set.add(1)
set.add(1) // 不会传入重复元素
// delete // 传入对应值,进行删除 返回一个boolean值
set.delete(1)
// clear() 删除所有元素 没有返回值
set.clear() 清除所有
// 修改set 先删除再添加
// 查询 has() 判断是否存在 返回boolean值
set.has()
set.entries() 返回键值对set迭代器
set.keys.()
set.values()
// size属性 获取set元素个数
set.size
// 数组去重
var arr = [11, 11, 33, 33, 33, 66, 66]
var newSet = new Set(arr) // 11,33,66
map()集合 伪数组 一种数据结构
构成是key value, Map是一个很大的对象,它可以存任意类型
var mMap = new Map()
// set()添加数据 重复设置就是改
mMap.set(name, '王五')
// get()读取一个键的值
mMap.get(key)
// has(key) 返回boolean,表示某个键是否在Map数据结构中
mMap.has(key)
// mMap.size mMap元素个数
mMap.size
// delete()通过key删除 clear()清空
// key value entries 返回map迭代器
// 所有迭代器都有的方法next()
WeakSet
只能存储对象
Class类(面向对象)
constructor构造器
// 首字母必须大写
class Person {
// 构造器 构造方法的容器 // new Object()就是调用构造方法
constructor(name, age) { // 匿名构造器 对象名就是它的方法名
this.name = name // 指向对象new的对象 实例
this.age = age
}
eat() {
console.log(this.name + '吃饭')
}
}
var item1 = new Person('王五', 18)
item1.eat() // 王五吃饭
extends继承
减少冗余代码 提高代码可读性及开发效率
// 继承 子类可以拥有父类所有非私有属性
// 如果需要使用父类
this需要使用super()
super() // 指向对应的父类,表示父元素的构造方法
this.sex
es6新增基础数据类型
BigInt 大整型
解决数值有范围,number只能写16位
var bigint = BigInt("1234567890102345678") // 1234567890102345678n
symbol 唯一的值
一般使用symbol来做区分 比如对象的key
var n = Symbol('h') // h相当于它的别名
var obj = {}
obj[n] = 'hello'
生成器函数
异步的函数 里面标注了yield 暂停执行 为了区分普通函数他加了*
function* generator(x) {
yield x+1
yield x+2
yield x+3
yield x+4
}
var g = generator(1)
g.next() // 走的第一步2
g.next() // 走的第一步3
g.next() // 走的第一步4
g.next() // 走的第一步5
// next() 返回1个对象 里面有2个参数 value表示执行的值 done表示已经完成
标签:ES6,set,obj,name,mMap,Object,var 来源: https://www.cnblogs.com/AiZink/p/16380914.html