TypeScript给接口添加任意属性
Posted Felix_Openmind
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TypeScript给接口添加任意属性相关的知识,希望对你有一定的参考价值。
一个接口允许存在任意的属性
interface IPerson
name: string;
age: number;
userBio?: string;
[propName: string]: any;
let wangzz: IPerson =
name: \'wangzz\',
age: 24,
userBio: \'万事胜意\',
gender: \'male\' // 任意属性取string类型的值
一旦定义任意属性,确定属性和可选属性的类型都必须时其类型的子类型
interface Person
name: string;
age?: number;
[propName: string]: string;
let tom: Person =
name: \'Tom\',
age: 25,
gender: \'male\'
;
// index.ts(3,5): error TS2411: Property \'age\' of type \'number\' is not assignable to string index type \'string\'.
// index.ts(7,5): error TS2322: Type \' [x: string]: string | number; name: string; age: number; gender: string; \' is not assignable to type \'Person\'.
// Index signatures are incompatible.
// Type \'string | number\' is not assignable to type \'string\'.
// Type \'number\' is not assignable to type \'string\'.
以上是关于TypeScript给接口添加任意属性的主要内容,如果未能解决你的问题,请参考以下文章 Typescript Interfaces(接口)添加任意key值/内容 从0开始的TypeScriptの四:接口Interfaces · 上