我有以下输入:
\nimport {onMediaChangeSubscribe} from \'../functions/doOnMediaChange\'\n\nexport class ActionButton extends ElementBase {\n mount(){\n onMediaChangeSubscribe(this.render)\n }\n}\nRun Code Online (Sandbox Code Playgroud)\nTypescript 4.3.x 的输出是:
\ndoOnMediaChange_1.onMediaChangeSubscribe(this.render);\nRun Code Online (Sandbox Code Playgroud)\nTypescript 4.4.x 执行以下操作:
\n(0, doOnMediaChange_1.onMediaChangeSubscribe)(this.render);\nRun Code Online (Sandbox Code Playgroud)\nW\xcc\xb6h\xcc\xb6a\xcc\xb6t\xcc\xb6 \xcc\xb6t\xcc\xb6h\xcc\xb6e\xcc\xb6 \xcc\xb6h\xcc\xb6a\xcc\xb6c\xcc\xb6k\ xcc\xb6?\xcc\xb6?\xcc\xb6?\xcc\xb6\n我的问题在这里部分得到解答:JavaScript 语法 (0, fn)(args),但我想澄清一下。
\n为什么 TypeScript 会有这样的变化?
\n最小复制示例:
\na.ts
export function doTheThing(){}\nRun Code Online (Sandbox Code Playgroud)\nb.ts
import {doTheThing} from \'./a\'\n\ndoTheThing()\nRun Code Online (Sandbox Code Playgroud)\nb.ts 编译为:
\n"use strict";\nObject.defineProperty(exports, "__esModule", { value: true });\nvar a_1 = require("./a");\n(0, a_1.doTheThing)();\nRun Code Online (Sandbox Code Playgroud)\n用过的tsconfig.json:
{\n "compilerOptions": {\n …Run Code Online (Sandbox Code Playgroud)