![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ES6
文章平均质量分 85
ES6新增、ES6与ES5区别
傲娇味的草莓
高中就读广东省前5的省重点高中
本科23年计算机专业刚毕业,拿到英国qs前100的硕士CS计算机offer
是gap year堆砌实习的留学生,24fall已拿悉尼大学(qs19)的CS(AI)硕士offer
展开
-
ES6中的箭头函数详细梳理
一、箭头函数的介绍1.1 什么是箭头函数ES6中允许使用=>来定义函数。箭头函数相当于匿名函数,并简化了函数定义。1.2 基本语法// 箭头函数let fn = (name) => { // 函数体 return `Hello ${name} !`;};// 等同于let fn = function (name) { // 函数体 return `Hello ${name} !`;};箭头函数在语法上比普通函数简洁多。箭头函数就是采用箭头=原创 2022-04-03 00:11:45 · 23928 阅读 · 2 评论 -
ES6的Set、WeakSet、Map、WeakMap
一、总体介绍下Set、WeakSet、Map、WeakMap的区别Set:对象允许存储任何类型的唯一值,无论是原始值或者是对象引用WeakSet:成员都是对象,成员都是弱引用,可以被垃圾回收机制回收,可以用来保存DOM节点,不容易造成内存泄漏Map:键值对的集合,类似集合;可以遍历,有很多方法,可以跟各种数据格式转换WeakMap:只接受对象为键名(null)除外,不接受其他类型的值作为键名;键名是弱引用,键值可以任意;键名所指向的对象可以被垃圾回收机制回收,此时键名无效,不能遍历。二、Set(原创 2022-03-31 23:49:59 · 688 阅读 · 0 评论 -
let真的没有变量提升吗?let暂时性死区引发的思考
let真的没有变量提升吗?let暂时性死区引发的思考1、var声明存在变量提升(1)var 具有变量提升的特性,来看栗子1 function fu() { console.log(a); var a = 666; } fu();解析:为什么这段代码不是"Uncaught ReferenceError: a is not defined",而是undefined呢?js的编译过程有关,js代码有编译阶段,js不是早早把编译工作做完,而是一边编原创 2022-03-27 16:14:39 · 1033 阅读 · 1 评论 -
js冷知识void 0是什么?为什么比undefined好用?
一、void 0 === undefined ?true!why?源码涉及到 undefined 表达都会被编译成 void 0//源码const a: number = 6a === undefined//编译后"use strict";var a = 6;a === void 0;void 0 === undefinedif(context === void 0) return fn;//等价于if(context === undefined) return fn;为什么原创 2022-03-28 15:08:15 · 10782 阅读 · 0 评论 -
ES6编写代码规范分类详细总结
一、块级作用域1.1 let 取代 varES6新增两个变量声明,let 和 const,let 可以取代var,在块级作用域内建议使用let声明双大括号中,ES6表示块级作用域。若var声明,在块级作用域外面也可以访问到块内var声明的变量,相当于全局变量,会失去很多语义的同时带来很多问题。若let声明,在块级作用域对形成一个封闭的区域,块外面无法访问块内的变量。if (true) { let x = 'hello'; console.log(x);}1.2 全局变量、线程安全原创 2022-03-28 19:39:31 · 2374 阅读 · 0 评论