所以我已经同时使用Javascript和Typescript了一段时间了,这个应该真的很容易。但是我从不需要使用bind
的Typescript,这让我感到困惑。
这是来自MDN的示例。
var module = {
x: 42,
getX: function() {
return this.x;
}
}
var unboundGetX = module.getX;
console.log(unboundGetX()); // The function gets invoked at the global scope
// expected output: undefined
var boundGetX = unboundGetX.bind(module);
console.log(boundGetX());
// expected output: 42
打字稿说Property 'bind' does not exist on type '() => string'.ts(2339)
我知道它确实存在,它只是一个函数。
为什么键入的函数和箭头函数相同?
const f1 = function() {}; // const f1: () => void
const f2 = () => {}; // const f2: () => void
编辑:
tsconfig.json
{
"compileOnSave": false,
"compilerOptions": {
"importHelpers": true,
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2017",
"dom"
],
"module": "es2015",
"baseUrl": "./"
}
}
答案 0 :(得分:0)
此作品有效:
this.chartData = Object.assign({}, result);
this.chartData = {...result};