ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ES6二

2022-06-23 09:05:29  阅读:160  来源: 互联网

标签:ES6 set obj name mMap Object var


二.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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有