3.Map
Map 对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。
Maps 和 Objects 的区别
- 一个 Object 的键只能是字符串或者 Symbols,但一个 Map 的键可以是任意值。
- Map 中的键值是有序的(FIFO 原则),而添加到对象中的键则不是。
- Map 的键值对个数可以从 size 属性获取,而 Object 的键值对个数只能手动计算。
- Object 都有自己的原型,原型链上的键名有可能和你自己在对象上的设置的键名产生冲突。
key是字符串
var myMap = new Map();
var keyString = “a string”;
myMap.set(keyString, “和键’a string’关联的值”);
myMap.get(keyString); // “和键’a string’关联的值”
myMap.get(“a string”); // “和键’a string’关联的值”
// 因为 keyString === ‘a string’
key 是对象
var myMap = new Map();
var keyObj = {},
myMap.set(keyObj, “和键 keyObj 关联的值”);
myMap.get(keyObj); // “和键 keyObj 关联的值”
myMap.get({}); // undefined, 因为 keyObj !== {}
key是函数
var myMap = new Map();
var keyFunc = function () {}, // 函数
myMap.set(keyFunc, “和键 keyFunc 关联的值”);
myMap.get(keyFunc); // “和键 keyFunc 关联的值”
myMap.get(function() {}) // undefined, 因为 keyFunc !== function () {}
4.类
在ES6中,class (类)作为对象的模板被引入,可以通过 class 关键字定义类。
class 的本质是 function。
它可以看作一个语法糖,让对象原型的写法更加清晰、更像面向对象编程的语法。
// 匿名类
let Example = class {
constructor(a) {
this.a = a;
}
}
// 命名类
let Example = class Example {
constructor(a) {
this.a = a;
}
}
constructor 方法
constructor 方法是类的默认方法,创建类的实例化对象时被调用。
class Example{
constructor(){
console.log(‘我是constructor’);
}
}
new Example(); // 我是constructor
类的实例化
class的实例化必须通过new关字
class Example{
constructor(){
console.log(‘我是constructor’);
}
}
new Example();
extends继承
class Child extends Father { … }
5.箭头函数
箭头函数提供了一种更加简洁的函数书写方式。基本语法是:参数 => 函数体
var f = v => v;
//等价于
var f = function(a){
return a;
}
f(1); //1
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
学习分享,共勉
题外话,毕竟我工作多年,深知技术改革和创新的方向,Flutter作为跨平台开发技术、Flutter以其美观、快速、高效、开放等优势迅速俘获人心
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
面V无偿领取!(备注:前端)**
[外链图片转存中…(img-lN35PUpr-1710771315718)]
学习分享,共勉
题外话,毕竟我工作多年,深知技术改革和创新的方向,Flutter作为跨平台开发技术、Flutter以其美观、快速、高效、开放等优势迅速俘获人心