我发现这样的代码非常常见(这是TypeScript,但是等价的JS相当明显,这确实是一个JS问题,尽管TS可以解决这个问题):
class Foo {
someField;
someMethod() {
doSomethingTakingACallback(function() {
this.someField; // Fails because `this` is not the instance of `Foo`
});
}
}
当然,解决方案是像这样使用Function.bind():
someMe
我正在尝试测试TypeScript + React + Webpack2设置中的Ant组件。
我正在手动导入DatePicker组件,以便webpack能够将其取出并构建到我的包中。
import * as React from "react";
import * as moment from "moment";
import DatePicker from 'antd/lib/date-picker';
import "antd/lib/date-picker/style/css";
export default class
代码:
import fetch from 'node-fetch';
错误:
Error [ERR_REQUIRE_ESM]: require() of ES Module C:\Users\youar_mnnijcy\Documents\Work\Typescript\CoredV5-TS\node_modules\node-fetch\src\index.js from C:\Users\youar_mnnijcy\Documents\Work\Typescript\CoredV5-TS\src\commands\general\ping.ts not supported
考虑以下TS示例:
fetch("http://localhost:3000/auth", {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
})
.then((response) => {
// would like to store some information from the response's headers
//
在ES6中,可以通过this.constructor引用静态方法。
class MainClass {
static info() {
return "This is some information";
}
constructor() {
this.info = this.constructor.info(); // Allows subclass to define different '.info()' method.
}
}
class ChildClass extends MainClass {
static in