【发布时间】:2020-07-14 03:32:57
【问题描述】:
我开始使用 typescript 编写代码,但遇到了一些编译问题。
我有几个类,似乎我有层次结构问题
在我的第一堂课 (A) 中,我指出了一组属性/功能。我有第二个类 (B),它继承自类 (A),并添加了某些属性/功能。最后我有第三个类(C),它继承自第二个 (B) 类。
export default class A {
prop1: string;
function1() {
console.log('TEST');
}
}
export default class B extends A {
prop2: string;
function2() {
console.log('TEST');
}
}
export default class C extends B {
prop3: string;
function3() {
console.log('TEST');
}
}
编译时,我收到以下错误消息:
TS2345:类型“typeof C”的参数不可分配给参数 键入“A”。类型“typeof C”缺少以下属性 输入“B”:prop1,function1。
我的 3 个类在 3 个单独的文件中,我使用导出/导入,它似乎工作......
你有什么想法吗?
TSCONFING:
{
"compilerOptions": {
"outDir": "./dist/",
"noImplicitAny": true,
"module": "es6",
"target": "es5",
"jsx": "react",
"allowJs": true
}
}
我正在尝试编写类似link 的代码。网站上的错误信息和我的编辑器里的不太一样,但也许在网站上更正时我会发现最后的问题......
非常感谢。
【问题讨论】:
-
您使用的是哪个版本的 TS?请发布 tsconfig 文件。
-
在操场上我只看到一个问题 - 多个默认导出
-
这是我的 tsconfig 文件:{ "compilerOptions": { "outDir": "./dist/", "noImplicitAny": true, "module": "es6", "target": " es5", "jsx": "react", "allowJs": true } }
-
它仍然可以正常工作。这是实际代码吗?似乎你在孩子内部有重复的财产,比如合作伙伴:
name:string和孩子:name:number; -
你可以使用 typescript playground 来检查你的代码
标签: javascript typescript class extends