使用 class 扩展 Error 就会导致 class 内的方法失效, 是我的姿势不对?

2017-08-10 16:53:54 +08:00
 iugo
"babel-core": "^6.25.0",
"babel-preset-es2015": "^6.24.1",
"babel-preset-stage-0": "^6.24.1",

在 Node.js 中没遇到过类似问题, 不用 Babel 直接在 Chrome 中正常, 不使用 extends Error 正常(比如 extends Date).

class MyError extends Error {
  getLength() {
    return this.message.length;
  }
}
2034 次点击
所在节点    JavaScript
3 条回复
housne
2017-08-10 17:10:02 +08:00
~~~js
class MyError extends Error {
constructor(message) {
super(message);
}
getLength() {
return this.message.length;
}
}
~~~
iugo
2017-08-10 17:49:02 +08:00
@housne http://eslint.org/docs/rules/no-useless-constructor

虽说是 useless, 但我还是尝试了一下. 依旧 undefined.

这个问题好奇怪啊.
MinonHeart
2017-08-10 19:57:57 +08:00
babel 不提供继承原生类

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/381975

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX