簡體   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