es6 中的class ES6 的 class 属于一种“语法糖”,所以只是写法更加优雅,更加像面对对象的编程,其思想和 ES5 是一致的。
function Point(x, y) {
this.x = x;
this.y = y;
}
Point.prototype.toString = function() {
return '(' + this.x + ',' + this.y + ')';
}
等同于
class Point {
constructor(x, y) {
this.x = x;
this.y = y;
}
toStri
ES6 下export 和 export default 的区别
export与export default均可用于导出常量、函数、文件、模块等
你可以在其它文件或模块中通过import+(常量 | 函数 | 文件 | 模块)名的方式,将其导入,以便能够对其进行使用
在一个文件或模块中,export、import可以有多个,export default仅有一个
通过export方式导出,在导入时要加{ },export default则不需要
ES6 下 export 导出方式
//a.js
export const str = "blablabla~";
export function
ES6 的发布,给 JavaScript 开发带来了很多实实在在的特性,那么对于 node.js 的开发者而言,V8对于ES6新特性的支持有哪些?
如何查看node 的新特性 process.versions
➜ /Users/zhangzhi >node
process.versions
{ http_parser: '2.5.0',
node: '4.2.4',
v8: '4.5.103.35',
uv: '1.7.5',
zlib: '1.2.8',
ares: '1.10.1-DEV',
icu: '56.1',
modules: '4
关于 ES6规范及新特性
对象字面量申明增强
ES6 之前,申明对象字面量方式其实就是直接定义一个json对象.存在的仅仅是对象的属性和值.
ES6 之后,对象字面量被扩展支持直接设置原型,
简洁属性赋值和方法,
超类调用,
这也让对象字面量和类声明的关系更密切,并让基于对象的设计更便利
ES6之前:
var obj = {
__proto__: theProtoObj,
// 下面的写法不会设置内部原型
'__proto__': theProtoObj,
// 方法
toString() {
// 调用父对象的方法
return "d "
ES6是对 javascript 语言的一次重大更新,是自从2009年ES5标准化后的第一次重大更新
主要的JavaScript引擎正在逐步实现这些特性,点击这里查看浏览器的兼容情况
这次更新涉及到的新特性还比较多,我们分几个部分来简单介绍 ES6 中模块导入
类似下面的语法:
import fs from 'fs';
import path from 'path';
这里的 import是在编译时决定的( 即在脚本开始执行之前 )
事实上,各个模块之间的依赖关系图所涉及的所有imports和exports都是在执行之前已经决定
如果我们的代码中需要按需加载的需求,即在运行时才进行模