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许可协议。转载请注明来自 肥林の仓库





