2015年6月发布了ES 6,也就是我们今天广泛使用的版本。这之后每年6月发布一个极小更新的ES版本,比如2016年6月发布的 ES 2016 叫做ES 7,而这个版本只增加了两个新特性。截止目前,ES 11的提案已经定稿了。
2015年6月发布了ES 6,也就是我们今天广泛使用的版本。这之后每年6月发布一个极小更新的ES版本,比如2016年6月发布的 ES 2016 叫做ES 7,而这个版本只增加了两个新特性。截止目前,ES 11的提案已经定稿了。
typeof 一般被用于判断一个变量的类型,我们可以利用 typeof 来判断 number, string, object, boolean, function, undefined,symbol 这七种类型,这种判断能帮助我们搞定一些问题,比如在判断不是 object 类型的数据的时候,typeof 能比较清楚的告诉我们具体是哪一类的类型。但是,很遗憾的一点是,typeof在判断一个 object 的数据的时候只能告诉我们这个数据是 object, 而不能细致的具体到是哪一种 object, 比如
在这里汇总一些 JS 常用技术的源码实现,通过源码了解其内部原理,可以加深对其的理解。
抛开JavaScript自带的class语法糖实现类的继承,如果用原生JavaScript实现类的继承,有以下六种方式,其实现代码与优缺点分析如下
在ES6之前,JavaScript 中除了基础类型外的数据类型都是对象(引用类型),没有类(class),为了实现类似继承以便复用代码的能力,JavaScript选择了原型和原型链。甚至在ES6之后,JavaScript也没有真正的类(class)。ES6虽然提供了class关键字让我么可以伪造一个“类”,但其实只是语法糖而已,本质上仍然是一个对象。ES6实现的继承,本质仍是基于原型和原型链。
闭包是JavaScript的强大的特性,很多强大JavaScript库比如jQuery、Vue.js都使用了闭包的特性来实现的,同时,闭包也是js里的理解难点之一。