Typescript
对象类型
Record<string, any>解释:Record<string, any>表示一个对象类型,其中键是字符串,值可以是任意类型。 用法:通常用于定义具有动态键的对象。
const data: Record<string, any> = {
name: 'Alice',
age: 30,
isActive: true,
metadata: { role: 'admin' },
}
data.newProperty = 'New Value'object解释:object是TypeScript的一种原始类型,用于描述非原始类型(即不是number、string、boolean、symbol、null或undefined)。 用法:用来限制变量为对象,但不能访问具体的属性。
// 使用 object
const obj: object = { key: 'value' }
// 错误:不能直接访问属性
// @errors: 2339
console.log(obj.key); // Error
// 正确:需先进行类型断言
const specificObj = obj as { key: string }
console.log(specificObj.key) // 输出: "value"- Object 解释:Object 是 TypeScript 中的广义对象类型,所有的值(包括原始值和对象)都派生自 Object。 用法:不推荐直接使用,因为它过于宽泛且不安全。
// 使用 Object
// eslint-disable-next-line ts/no-wrapper-object-types
const anything: Object = { name: 'Alice' } // 对象
// eslint-disable-next-line ts/no-wrapper-object-types
const numberValue: Object = 42 // 数字
// eslint-disable-next-line ts/no-wrapper-object-types
const stringValue: Object = 'Hello' // 字符串