欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > es6的class 类

es6的class 类

2024/10/24 7:20:21 来源:https://blog.csdn.net/2302_80798583/article/details/143161775  浏览:    关键词:es6的class 类

概述:
ES6 提供了 Map 数据结构。它类似于对象,也是键值对的集合。但是“键”的范围不限于字符串,各
种类型的值(包括对象)都可以当作键。Map 也实现了 iterator 接口,所以可以使用『扩展运算符』
和『for…of…』进行遍历;
Map 的属性和方法:
1. size 返回 Map 的元素个数;
2. set 增加一个新元素,返回当前 Map;
3. get 返回键名对象的键值;
4. has 检测 Map 中是否包含某个元素,返回 boolean 值;
5. clear 清空集合,返回 undefined;
简单使用:
代码实现:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Map 集合</title>
</head>
<body>
<script>
// Map 集合
// 创建一个空 map
let m = new Map();
// 创建一个非空 map
let m2 = new Map([
['name', '大喇叭'],
['slogon', '只有掌握真正的技术,才能拥有永远的财富']
]);
// 1. size 返回 Map 的元素个数;
console.log(m2.size);
// 2. set 增加一个新元素,返回当前 Map;
m.set("皇帝", "大哥");
m.set("丞相", "二哥");
console.log(m);
// 3. get 返回键名对象的键值;
console.log(m.get("皇帝"));
// 4. has 检测 Map 中是否包含某个元素,返回 boolean 值;
console.log(m.has("皇帝"));
// 5. clear 清空集合,返回 undefined;
m.clear();
console.log(m);
</script>
</body>
</html>

运行结果:
class 静态成员:
类相当于实例的原型,所有在类中定义的方法,都会被实例继承。如果在一个方法前,加上 static 关
键字,就表示该方法不会被实例继承,而是直接通过类来调用,这就称为“静态方法”。
代码实现

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>class 静态成员</title>
</head>
<body>
<script>
// class 静态成员
// ES5 写法
// function Phone() {}
// Phone.name = "手机";
// Phone.change = function () {
// console.log("我可以改变世界!");
// }
// let nokia = new Phone();
// console.log(nokia.name); // undefined
// // nokia.change();
// // 报错:Uncaught TypeError: nokia.change is not a function
// Phone.prototype.color = "黑色";
// console.log(nokia.color); // 黑色
// console.log(Phone.name);
// Phone.change();
// 注意:实例对象和函数对象的属性是不相通的
// ES6 写法
class Phone {
// 静态属性
static name = "手机";
static change() {
console.log("我可以改变世界!");
}
}
let nokia = new Phone();
console.log(nokia.name);
console.log(Phone.name);
Phone.change();
</script>
</body>
</html>

运行结果:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com