繁体   English   中英

这个 Typescript 语法是什么意思

[英]What does this Typescript syntax mean

export declare type SomeType = {
   [key: string] : string
};

这个语法到底是什么意思? 我们正在导出一个名为 SomeType 的自定义类型别名,它是一个具有名为 ____ 且值为 ____ 的属性的对象?

这意味着SomeType类型的对象只能具有带有字符串值的字符串属性:

例子:

// Valid
{

    firstName: 'John',
    lastName: 'Smith'

},

// Invalid
{

    firstName: 'John',
    age: 10

}

这种语法称为索引签名

这是一个键/值结构。 键是字符串,值是字符串

SomeType = {
   'a-string-key' : 'a-string-value'
};

基本上,Typescript 是 javascript 的静态类型版本。 在这种情况下,我们有一个名为SomeType的类型,它是一个对象。 我们还以这种方式提及对象的keyvalue类型 - [key: string]: string

在您的情况下, SomeType将只接受字符串的key和字符串的value 否则,它会抛出一个类型错误。

例如: { "name": "user"}是有效的,而{"name" : 10 }是无效的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM