1、给对象定义类型时,明确写出对象的键的类型和可接受的值的类型。如:letobj:{[key:string]:any}表示obj变量是对象类型,键是字符串类型,值是any类型。obj={name:"张三疯",age:12};for(constkeyinobj){console.log(`${key}:${obj[key]}`);}再如:letobj:{[key:string]:(number|stri...
in 操作符用于遍历目标类型的属性key值。类似 for .. in 的机制。一般结合[]一起使用。 1. 遍历枚举类型(enum) enum E1 { A, B, C } type TE = { [P in E1]: string } /** * type TE = { 0: string; 1: string; 2: string; } * / 2. 遍历联合类型 in操作符还可以用来遍历联合类型,...
in的使用 in的右侧一般会跟一个联合类型,使用in操作符可以对该联合类型进行迭代。 其作用类似JS中的for...in或者for...of awk type Animals = 'pig' | 'cat' | 'dog' type animals = { [key in Animals]: string } // type animals = { // pig: string; //第一次迭代 // cat: string; //...
我们使用for-in循环语句来访问学生对象的键。在访问完键后,我们还访问了该特定键的值。 // defining the student objectconststudent={student_name:"Shubham",role:"Content writer",age:22,};// iterating through the student objectfor(constkeyinstudent){console.log("The "+key+" of the student is "...
使用for...in遍历属性并输出 constuser=newUser("Alice",30);for(constkeyinuser){console.log(key,user[key]);} 1. 2. 3. 4. 查阅错误日志 ⚠️ 在检查过程中,你需要特别注意不可枚举属性。 使用Object.keys(user)进行调试。 有序列表的高级技巧: ...
for 一般用于已知循环次数 varnum:number =5;vari:number;varfactorial =1;for(i = num;i>=1;i--) { factorial*=i; } console.log(factorial) for...in... 一般用于循环对象 let keyValue:string; let objectList:object={ name:'小白狼', ...
接下来,我们利用key in关键字来遍历User接口中的所有键。这一部分是非常重要的,因为它允许我们在不知道特定键名的情况下访问对象的多个属性。 // 定义一个函数来输出 User 对象的所有属性functionprintUserInfo(user:User){for(letkeyinuser){// 检查对象是否是 User 类型的自有属性if(user.hasOwnProperty(key))...
语法:for (let key in obj) { … } for of: 用于遍历可迭代对象(比如数组、字符串、Map、Set等)。它会遍历对象的元素而不是属性。 语法:for (let element of iterable) { … } forEach: 是Array对象的原型方法,用于遍历数组中的每个元素并执行回调函数。
interface Person { name: string; age: number; } // 使用 keyof 获取属性名的联合类型 type PersonKeys = keyof Person; // "name" | "age" // 泛型约束示例 function getProperty<T, K extends keyof T>(obj: T, key: K) { return obj[key]; } const person: Person = { name: 'Alic...
readonly [P in keyof T]: T[P]; }; 在每一个 key 前面加上 readonly。示例代码如下: interface IPerson { name: string; age: number; } type person = Readonly<IPerson>; // 相当于 // type person = { // readonly name: string; ...