首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
javascript进阶
哲学小Harry
创建于2022-03-12
订阅专栏
javascript高级语法专栏
等 2 人订阅
共42篇文章
创建于2022-03-12
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
关于npm包管理工具的完全详解(超详细)
代码共享方案 我们可以通过模块化的方式来封装自己的代码,或者封装一个工具,这个工具可以让同事通过导入的方式来使用,甚至可以分享给全世界的程序员来使用。常见的代码分享方案有两种。 上传到github上,
JS中处理模块化的机制CommonJS与ESModule
什么是模块化 事实上模块化开发最终的目的是将程序划分成一个个小的结构,这个结构中编写属于自己的逻辑代码,有自己的作用域,不会影响到其他的结构,这个结构可以将自己希望暴露的变量、函数、对象等导出给其结构
JS中对错误的处理方案
引言,关于错误的处理方案 开发中我们会封装一些工具函数,封装之后给别人使用。在其他人使用的过程中,可能会传递一些参数,对于函数来说,需要对这些参数进行验证,否则可能得到的是我们不想要的结果。 很多时候
JS中的async-await
异步函数 async function async关键字用于声明一个异步函数: async是asynchronous单词的缩写,异步、非同步 sync是synchronous单词的缩写,同步、同时 异
JS中的生成器
生成器的介绍 生成器是ES6中新增的一种函数控制、使用的方案,它可以让我们更加灵活的控制函数什么时候继续执行、暂停执行等。平时我们会编写很多的函数,这些函数终止的条件通常是返回值或者发生了异常。 生成
JS中的迭代器
什么是迭代器 迭代器(iterator),是确使用户可在容器对象(container,例如链表或数组)上遍访的对象,使用该接口无需关心对象的内部实现细节。 从迭代器的定义我们可以看出来,迭代器是帮助我
JS中Promise的使用
异步任务的处理 这里我从一个实际的例子来作为切入点,我们调用一个函数,这个函数中发送网络请求(我们可以用定时器来模拟),如果发送网络请求成功了,那么告知调用者发送成功,并且将相关数据返回过去,如果发送
JS响应式原理的实现
什么是响应式 我们先来看一下响应式意味着什么?我们来看一段代码: m有一个初始化的值,有一段代码使用了这个值,那么在m有一个新的值时,这段代码可以自动重新执行。 上面的这样一种可以自动响应数据变量的代
ES6中的Proxy和Reflect
监听对象的操作 我们先来看一个需求:有一个对象,我们希望监听这个对象中的属性被设置或获取的过程。我们可以通过之前的属性描述符中的存储属性描述符来做到。如果不知道对象属性描述符的可以看这篇文章:对象属性
ES12新增特性FinalizationRegistry,WeakRef以及logical assign operator
提醒 如果您的Node版本较低,请更新,或者在浏览器中执行。 FinalizationRegistry FinalizationRegistry(终结注册表)象可以让你在对象被垃圾回收时请求一个回调。
JS中with语句,eval函数与严格模式
with语句 with语句用于扩展一个语句的作用域链。 不建议使用with语句,因为它可能是混淆错误和兼容性问题的根源。 eval函数 eval是一个特殊的函数,它可以将传入的字符串当做JavaScr
ES11新增的特性Bigint、Nulish Coalescing Operator、OptionalChaining、GlobalThis
BigInt 在早期的JavaScript中,我们不能正确的表示过大的数字,大于MAX_SAFE_INTEGER的数值,表示的可能是不正确的。那么ES11中,引入了新的数据类型BigInt,用于表示大
ES10新增flat与flatMap的使用、Object的fromEntries、trimStart。
flat flat() 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。 案例 flatMap latMap() 方法首先使用映射函数映射每个元素,然
ES8新增的特性String Padding和Trailing Commas
String Padding(字符填充) 某些字符串我们需要对其进行前后的填充,来实现某种格式化效果,ES8中增加了 padStart 和 padEnd 方法,分别是对字符串的首尾进行填充的。 案例
ES8新增特性(Object的values和entries获取)
Object.values 之前(在ES5中)我们可以通过 Object.keys 获取一个对象所有的key,在ES8中提供了 Object.values 来获取所有的value值。 代码案例 Obj
ES7新增特性array.includes以及指数运算符
array.includes方法 在ES7之前,如果我们想判断一个数组中是否包含某个元素,需要通过 indexOf 获取结果,并且判断是否为 -1。在ES7中,我们可以通过includes来判断一个数
ES6新增数据结构Set与Map(包括WeakMap/Set等)
Set的基本使用 ES6之前,我们存储数据的结构主要有两种:数组、对象。在ES6中新增了另外两种数据结构:Set、Map,以及它们的另外形式WeakSet、WeakMap。 Set是一个新增的数据结构
JS中新增的数据类型Symbol
Symbol是什么? Symbol是ES6中新增的一个基本数据类型,翻译为符号。 为什么需要Symbol呢? 在ES6之前,对象的属性名都是字符串形式,那么很容易造成属性名的冲突。比如原来有一个对象,
ES6中的展开运算符
展开语法(Spread syntax) 可以在函数调用/数组构造时,将数组表达式或者string在语法层面展开,还可以在构造字面量对象时, 将对象表达式按key-value的方式展开。 展开语法的场景
ES6中函数的默认参数与剩余参数
函数的默认参数 在ES6之前,我们编写的函数参数是没有默认值的,所以我们在编写函数时,如果有下面的需求 传入了参数,那么使用传入的参数 没有传入参数,那么使用一个默认值 ES5及之前 之前我们是这么做
下一页