人们希望诸如继承之类的基本功能在Typescript中起作用,但显然不行!我有这样的代码:
class GrowableBuffer extends Buffer {
constructor(size: number) {
super(size);
}
public append(b: Buffer): GrowableBuffer {
...
Buffer
是节点类型。
在另一个班上,我有一个财产
private buffer: GrowableBuffer = new GrowableBuffer(0);
然而,buffer
最终只是Buffer
,而不是GrowableBuffer
,因此this.buffer.append()
抱怨append()
不存在。 WTF?我在编译过程中没有出现任何Typescript错误,并且似乎在Typescript运动场中产生了模糊不清的结果,但是我的输出代码是这种怪诞的:
var GrowableBuffer = /*#__PURE__*/
function(_Buffer) {
Object(_Why_is_my_home_directory_here_node_modules_babel_runtime_corejs2_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_7__["default"])(GrowableBuffer, _Buffer);
function GrowableBuffer(size) {
var _this;
Object(_Why_is_my_home_directory_here_node_modules_babel_runtime_corejs2_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_8__["default"])(this, GrowableBuffer);
_this = Object(_Why_is_my_home_directory_here_node_modules_babel_runtime_corejs2_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__["default"])(this, Object(_Why_is_my_home_directory_here_modules_babel_runtime_corejs2_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6__["default"])(GrowableBuffer).call(this, size));
return _this;
}
这是否应该起作用,并且Webpack搞砸了?