forIN和forOf的区别


for in和for of的区别

循环对象
 let objKey = {name: '牛恒', age : 23 , sex:'男' }
  
  // for in 专门用来循环对象 ,key是对象的键, obj[key]是对象的值
  for (let value in objKey) {
    console.log('objKey ----- value', value)
    // objKey ----- value name
    // index.tsx:30 objKey ----- value age
    // index.tsx:30 objKey ----- value sex
  }

  // ***for of 循环对象会报错
  // 只能循环数组或者字符串类型
  // react-dom.development.js:11340 Uncaught TypeError: objKey is not iterable
  
   for (let value of objKey) { // error ; 类型“{ name: string; age: number; sex: string; }”不是数组类型或字符串类型。
     console.log('value', value)
   }

  
循环数组
    let sliceKey = ['红包', '返现', '首充', '权益']
    /** for in 和 for of 都可循环数组
    *  其中 for in 循环的是数组的键, 即下标
    *  同对象键值对取值 obj[key]
    */ 
    // for in 功能强大,可循环对象和数组,(即使取值也可obj[key]) ,完全可替代for of 
    // for of 循环的是数组的值, 即键值
    
    for (let key in sliceKey) {
      console.log('arrKey', key)
      // index.tsx: 39 arrKey 0
      // index.tsx: 39 arrKey 1
      // index.tsx: 39 arrKey 2
      // index.tsx: 39 arrKey 3
     }

    for (let value of sliceKey) {
    console.log('ValueKey', value)
    // index.tsx:47 ValueKey 红包
    // index.tsx:47 ValueKey 返现
    // index.tsx:47 ValueKey 首充
    // index.tsx:47 ValueKey 权益
    }

文章作者: KarlFranz
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 reprint policy. If reproduced, please indicate source KarlFranz !
评论
  目录