📅  最后修改于: 2023-12-03 15:25:11.892000             🧑  作者: Mango
在 JavaScript 中,我们可以将对象的键作为字符串使用,例如以下代码:
const obj = {
'key1': 'value1',
'key2': 'value2'
};
console.log(obj[key1]); // 输出:value1
在 TypeScript 中,我们可以为这些对象的键定义一个特定的字符串类型,以确保代码的类型安全。以下是一个例子:
type MyKeys = 'key1' | 'key2';
const obj: Record<MyKeys, string> = {
'key1': 'value1',
'key2': 'value2'
};
console.log(obj['key1']); // 输出:value1
以上代码使用 type
关键字定义了一个字符串联合类型 MyKeys
,表示 obj
对象只允许使用 key1
和 key2
作为键值。
接着,我们使用 Record
类型来为对象中的 MyKeys
键定义一个字符串类型的值,以确保对象中只包含这两个键。
最后,我们可以像普通对象一样使用 obj
,并使用 MyKeys
联合类型中的键值来访问它的值。
Markdown 代码如下:
## 对象键值作为字符串 ts 类型 js
在 JavaScript 中,我们可以将对象的键作为字符串使用,例如以下代码:
```javascript
const obj = {
'key1': 'value1',
'key2': 'value2'
};
console.log(obj[key1]); // 输出:value1
在 TypeScript 中,我们可以为这些对象的键定义一个特定的字符串类型,以确保代码的类型安全。以下是一个例子:
type MyKeys = 'key1' | 'key2';
const obj: Record<MyKeys, string> = {
'key1': 'value1',
'key2': 'value2'
};
console.log(obj['key1']); // 输出:value1
以上代码使用 type
关键字定义了一个字符串联合类型 MyKeys
,表示 obj
对象只允许使用 key1
和 key2
作为键值。
接着,我们使用 Record
类型来为对象中的 MyKeys
键定义一个字符串类型的值,以确保对象中只包含这两个键。
最后,我们可以像普通对象一样使用 obj
,并使用 MyKeys
联合类型中的键值来访问它的值。