随笔分类 -  es6

摘要:一、什么是深拷贝?(先简单理解概念) 深拷贝是指,拷贝对象的具体内容,深拷贝在计算机中开辟一块新的内存地址用于存放复制的对象。源数据改变不会影响复制的数据。 ##二、为什么要使用深拷贝? 我们希望在改变新的数组(对象)的时候,不改变原数组(对象) arr=[100, [{a : 'hello'}, 阅读全文
posted @ 2022-04-18 16:33 Tommy_marc 阅读(549) 评论(0) 推荐(0)
摘要:一、useReducer 与 useState useReducer 可以传给子组件个 dispatch 函数,子组件可以通过传递不同的 action,来达到不一样的处理(比如加 1 或 减 1),而用 useState 就要定义多个并且传递多个 二、为什么 useState 返回的是个数组,而不是 阅读全文
posted @ 2022-04-14 10:45 Tommy_marc 阅读(103) 评论(0) 推荐(0)
摘要:Set 对象存储的值总是唯一的 Set 对象方法 方法描述 add 添加某个值,返回Set对象本身。 clear 删除所有的键/值对,没有返回值。 delete 删除某个键,返回true。如果删除失败,返回false。 forEach 对每个元素执行指定操作。 has 返回一个布尔值,表示某个键是否 阅读全文
posted @ 2021-07-16 10:06 Tommy_marc 阅读(233) 评论(0) 推荐(0)
摘要:Decorator 是 ES7 的一个新语法,目前仍处于第2阶段提案中,正如其“装饰器”的叫法所表达的,他通过添加@方法名可以对一些对象进行装饰包装然后返回一个被包装过的对象,可以装饰的对象包括:类,属性,方法等。 在使用它之前需要引入babel模块 transform-decorators-leg 阅读全文
posted @ 2021-06-30 19:01 Tommy_marc 阅读(1539) 评论(0) 推荐(0)
摘要:假设有这样一个数组: let person = [ {id: 0, name: "小明"}, {id: 1, name: "小张"}, {id: 2, name: "小李"}, {id: 3, name: "小孙"}, {id: 1, name: "小周"}, {id: 2, name: "小陈"} 阅读全文
posted @ 2021-05-26 10:44 Tommy_marc 阅读(286) 评论(0) 推荐(0)
摘要:说明: Map结构提供了“值—值”的对应,是一种更完善的Hash结构实现。如果你需要“键值对”的数据结构,Map比Object更合适。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。 map 的定义 1 2 1、let map = new Map( 阅读全文
posted @ 2021-04-09 22:50 Tommy_marc 阅读(506) 评论(0) 推荐(0)
摘要:将对象冻结,使用Object.freeze方法 const foo = Object.freeze({}); // 常规模式时,下面一行不起作用; // 严格模式时,该行会报错 foo.prop = 123; var t = { a:{ t:2 } } //冻结t对象下属性a Object.free 阅读全文
posted @ 2021-02-04 20:53 Tommy_marc 阅读(144) 评论(0) 推荐(0)
摘要:let { foo, bar } = { foo: "aaa", bar: "bbb" }; foo // "aaa" bar // "bbb" 对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值。 如果变 阅读全文
posted @ 2021-02-04 20:51 Tommy_marc 阅读(629) 评论(0) 推荐(0)
摘要:1.交换变量的值 let x = 1; let y = 2; [x, y] = [y, x]; 上面代码交换变量x和y的值,这样的写法不仅简洁,而且易读,语义非常清晰 2.从函数返回多个值 函数只能返回一个值,如果要返回多个值,只能将它们放在数组或对象里返回。有了解构赋值,取出这些值就非常方便。 / 阅读全文
posted @ 2021-02-04 18:43 Tommy_marc 阅读(147) 评论(0) 推荐(0)