其他分享
首页 > 其他分享> > ES6二

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