ES6
语法基础
萤火虫 ✨
这个作者很懒,什么都没留下…
展开
-
let和var的区别
let不存在变量提升,var存在let同一个作用域不能重复定义同一个名称,var不可以有严格的作用域,块级作用域原创 2021-09-09 10:59:15 · 111 阅读 · 0 评论 -
ES6学习记录(5)-Class类
class类声明在ES6中,class (类)作为对象的模板被引入,可以通过 class 关键字定义类。class 的本质是 function。它可以看作一个语法糖,让对象原型的写法更加清晰、更像面向对象编程的语法。类声明class Example { constructor(a) { this.a = a; }}不可重复声明;类定义不会被提升;类中方法不需要function关键字;...原创 2021-08-13 10:32:09 · 73 阅读 · 0 评论 -
ES6学习记录(4)-箭头函数
没有 this、super、arguments 和 new.target 绑定;箭头函数体中的 this 对象,是定义函数时的对象,而不是使用函数时的对象;不可以作为构造函数,也就是不能使用 new 命令,否则会报错。适合使用的场景当我们需要维护一个 this 上下文的时候,就可以使用箭头函数ES6 之前,JavaScript 的 this 对象一直很令人头大,回调函数,经常看到 var self = this 这样的代码,为了将外部 this 传递到回调函数中,那么有了箭头函数,就不需要这样做了原创 2021-08-12 23:51:13 · 60 阅读 · 0 评论 -
ES6学习记录(3)-Proxy与Reflect
ProxyProxy 可以对目标对象的读取、函数调用等操作进行拦截,然后进行操作处理。它不直接操作对象,而是像代理模式,通过对象的代理对象进行操作,在进行这些操作时,可以添加一些需要的额外操作。let target = { name: 'Tom', age: 24}let handler = { get: function(target, key) { console.log('getting '+key); return target[key原创 2021-08-12 23:02:06 · 101 阅读 · 0 评论 -
js遍历方法
循环遍历方法for in的注意点一:map(),foreach,filter循环的共同之处: 1.foreach,map,filter循环中途是无法停止的,总是会将所有成员遍历完。 2.他们都可以接受第二个参数,用来绑定回调函数内部的this变量,将回调函数内部的this对象,指向第二个参数,间接操作这个参数(一般是数组)。二:map()循环和forEach循环的不同: forEach循环没有返回值;map,filter循环有返回值。三:map(环和filter()循环都原创 2021-08-12 20:51:25 · 62 阅读 · 0 评论 -
js数组的去重方法
let array = [1, 2, 2, 2, 3, 4, 5]// set去重console.log(Array.from(new Set(array)))// 排序后相邻元素去除let arr = [1, 2, 2, 2, 3, 4, 5]arr.sort()var newArr = [arr[0]]for (var i = 1; i < arr.length; i++) { if (arr[i] !== newArr[newArr.length - 1]) {原创 2021-08-12 20:17:06 · 56 阅读 · 0 评论 -
ES6学习记录(2)-Map与Set
解构赋值Maps 和 Objects 的区别Map的使用Set的使用Maps 和 Objects 的区别一个 Object 的键只能是字符串或者 Symbols,但一个 **Map 的键可以是任意值**。**Map 中的键值是有序的**(FIFO 原则),而添加到对象中的键则不是。**Map 的键值对个数可以从 size 属性获取**,而 Object 的键值对个数只能手动计算。Object 都有自己的原型,原型链上的键名有可能和你自己在对象上的设置的键名产生冲突。Map的使用let map原创 2021-08-12 20:05:18 · 86 阅读 · 0 评论 -
ES6学习记录(1)-let与const
ES6新增了两个关键字 let与constES6新增了两个关键字 let与const只在块级作用域内有效let与var的区别块级作用域与函数作用域的区别const的特点原创 2021-08-12 17:50:31 · 191 阅读 · 0 评论