TypeScript 中 Property or signature expected 错误
当我们在声明类型或接口时遇到语法错误时,就会出现“Property or signature expected”错误。 要解决该错误,请确保用冒号分隔属性和类型,并将包含连字符或空格的属性用引号括起来。
以下是错误发生方式的 3 个示例。
interface Employee {
// ⛔️ Error: Property or signature expected.ts(1131)
first-name: string;
}
type Example = {
// ⛔️ Error: Property or signature expected.ts(1131)
two words: string;
}
type Person = {
// ⛔️ Error: Property or signature expected.ts(1131)
country = string;
}
第一个例子的错误原因是接口中的属性名包含连字符。
如果接口、类型或对象中的属性名称包含连字符,我们必须将其括在引号中。
interface Employee {
'first-name': string;
}
const emp: Employee = {
'first-name': 'James',
};
请注意
,无论是在接口中还是在声明 Employee 类型的对象时,我们都必须将属性用引号引起来。
空格(或大多数其他分隔符)也是如此。
如果对象、类型或接口属性包含空格,请将其括在引号中。
type Example = {
'two words': string;
};
const e: Example = {
'two words': 'hello world',
};
错误的另一个常见原因是错误地用等号或任何其他不是冒号的符号分隔属性和类型。
type Person = {
// ⛔️ Error: Property or signature expected.ts(1131)
country = string;
}
始终确保用冒号分隔属性名称和类型。
type Person = {
country: string;
};
const person: Person = {
country: 'Germany',
};
请注意
,我们不能在类型和接口中提供默认值,因为 TypeScript 仅帮助我们在开发过程中捕获错误。
当我们的代码编译为 JavaScript 时,我们定义的所有类型和接口都将被删除。
总结
当我们在声明类型或接口时遇到语法错误时,就会出现“Property or signature expected”错误。 要解决该错误,请确保用冒号分隔属性和类型,并将包含连字符或空格的属性用引号括起来。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。