CNode

ES6 class 算是倒退么...

问答
Mmagicdawn发布于11 年前最后回复11 年前12 回复7895 浏览0 收藏

e,g koa

以前

const app = require('koa')();

now, koa v2 使用 ES6 class https://github.com/koajs/koa/blob/2.0.0-alpha.2/lib/application.js#L30

const Koa = require('koa');
const app = new Koa();

untitled1.png

感慨一下, 你们大js 圈真会玩 ~

查看回复

回复 (12)

I
i5ting#1·11 年前

老是有种残次品的感觉

Y
yuu2lee4#2·11 年前

原型继承又不是不能用 untitled1.png

V
valaxy#3·11 年前

以前: require('koa')() 现在: new (require('koa'))

用起来的话就是API风格不一样,作者喜欢选哪种不就是看个人爱好

B
blackjack#4·11 年前

class后感觉怪怪的

W
wwhgtt#5·11 年前

感觉js的节操丢失了

Z
zxc122333#6·11 年前

能想到的唯一作用是 IDE可以根据class做代码提示了

L
li-qiang#7·11 年前

创建 Person var Person = function() { this.name = 123; } 利用 new 创建对象 new Person() # => Person {name: 123} 如果漏掉一个 new name = 'originName'

Person() # => undefined

name # => 123

这曾经是一个坑,ES6通过class找补回来了吧。

M
magicdawn#8·11 年前
引用 li-qiang创建 Person var Person = function() { this.name = 123; } 利用 new 创建对象 new Person() = Person {name: ...

@li-qiang

这是坑, 但是可以检测 this instanceof ConstructorName啊, 脏活累活在定义类的时候干了, 暴露出去一个干净的工厂方法API~多好

W
welefen#9·11 年前
A
alsotang#10·11 年前

挺好的挺好的

L
li-qiang#11·11 年前

@magicdawn 匿名类好像不方便使用。 个人认为,一个关键字的区分 比 this instanceof ConstructorName 简单直接。

E
eqiuno#12·11 年前

es6以前,创建类不好理解,让后端程序员不好理解。 有了new之后,和后端的用法就一致了。 我想new也就是这么点作用吧。

参与回复
登录后即可参与回复。登录