ES6复习(3)
Es6学习笔记(3)
1.class类与对象参考往期博客
2.Set集合
ES6
提供了新的数据结构 ``Set(集合)
。它类似于数组
,但成员的值都是唯一的,集合实现了iterator 接口
,所以可以使用『扩展运算符』
和『for…of…』
进行遍历,集合的属性和方法
:- 1)
size
返回集合的元素个数 - 2)
add
增加一个新元素,返回当前集合 - 3)
delete
删除元素,返回boolean
值 - 4)
has
检测集合中是否包含某个元素,返回boolean
值 - 5)
clear
清空集合,返回undefined
- 1)
代码展示
// 1.创建一个集合 |
结果展示:
3.map与其api
的介绍
ES6
提供了Map
数据结构。它类似于对象
,也是键值对的集合
。但是“键” 的范围不限于字符串,各种类型的值(包括对象)都可以当作键。Map
也实现了iterator
接口,所以可以使用『扩展运算符』
和『for…of…』
进行遍历。Map
的属性和方法:- 1)
size
返回 Map 的元素个数 - 2)
set
增加一个新元素,返回当前 Map - 3)
get
返回键名对象的键值 - 4)
has
检测 Map 中是否包含某个元素,返回 boolean 值 - 5)
clear
清空集合,返回 undefined
- 1)
代码展示:
// Map相当于一个加强版的对象,因为他可以将对象作为键(key) |
结果展示
4.Object.defineProperty方法
作用:
- 给目标对象定义一个新属性,或者修改一个已经存在的属性
语法格式:
Object.defineProperty(obj,prop,description)
obj
:必须
目标对象prop
:必须
需要定义或修改的属性名字(你要修改的是哪一个属性)description
:必须
目标属性所拥有的特性 (要改的属性有什么样的特性,说明,属性值),一般为对象形式
description
的常用属性值:- 1.
value
: 设置属性的值 默认为undefined - 2.
writable
: 值是否可以重写。true | false 默认为false - 3.
enumerable
: 目标属性是否可以被枚举。true | false 默认为 false - 4.
configurable
: 目标属性是否可以被删除或是否可以再次修改特性 true | false 默认为false
- 1.
代码展示:
//Object.defineProperty()方法用于定义新属性或修改原有的属性值 |
结果展示:
Object.defineProperty的两个高级用法
- 这里介绍
Object.defineProperty()
方法的两个高级用法:内置的get()
和set()
方法get() 方法
:当有人读取目标对象的某一个属性时,就会执行这个该函数,且返回值就是目标属性(该属性)的值set(形参)方法
:当有人修改目标对象的某一个属性时,就会执行这个该函数,且返回值就是目标属性(该属性)的值
代码展示:
//Object.defineProperty()方法用于定义新属性或修改原有的属性值 |
结果展示:
5.模块化
- 1.
引入
的三种方法<!-- 浏览器中一般是之间在script标签中引入路径即可 -->
<!-- 一定要添加 type="module" 这个属性 -->
<script type="module">
// 引入一般有三种方法:
// 1.通用的引入方法
// import * as m from "./m.js";
// console.log(m);
// 2.解构赋值的形式
// import {school , say , jod} from "./m.js";
// console.log(school); // 五邑大学
// console.log(say);//ƒ say()
// console.log(jod);//ƒ jod()
// 默认暴露
// import{default as m} from "./m.js";
// 3.简单形式 但是只能针对默认暴露
import m from "./m.js";
console.log(m);//{school: '五邑大学', say: ƒ, jod: ƒ}
</script> - 2.
暴露
的三种方法// 暴露数据的三种方法
// 1.分别暴露
// export let school = '五邑大学';
// export function say(){
// console.log('欢迎来到邑大!');
// }
// export function jod() {
// console.log('这里可以帮你找到心仪的工作!');
// }
// 2.统一暴露
// export {school , say , jod};
// 3.默认暴露
export default{
school : '五邑大学',
say : function(){
console.log('欢迎来到邑大!');
},
jod : function(){
console.log('这里可以帮你找到心仪的工作!');
}
}
结果展示:
6.扩展
### 字符串扩展 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0许可协议。转载请注明来自 肥林の仓库