日本阿v片在线播放免费,成人国产片视频在线观看,日韩黄片毛片在线观看,一区亚洲电影,琪琪秋霞午夜av影视在线,中文字幕在线视频不卡,最新大伊香蕉精品视频在线,亚洲AV无码日韩一区二区乱

      屬性描述符與Proxy的區別&Vue3.0為何改用Proxy

      2020-4-21    前端達人

      屬性描述符

      什么是屬性描述符?

      屬性描述符就是一個屬性除了屬性名與屬性值之外的其他相關信息

      通過Object.getOwnPropertyDescriptor(對象, 屬性名)可以得到一個對象的某個屬性的屬性描述符

      let obj = {
          a: 1
      }
      console.log(Object.getOwnPropertyDescriptor(obj, 'a'));
      // {
      //     value: 1,
      //     writable: true,
      //     enumerable: true,
      //     configurable: true
      // }
      

      通過Object.getOwnPropertyDescriptors(對象)可以得到某個對象的所有屬性描述符

      let obj = {
          a: 1,
          b: 2
      }
      console.log(Object.getOwnPropertyDescriptors(obj));
      // {
      //     a: {
      //         value: 1, 
      //         writable: true,
      //         enumerable: true,
      //         configurable: true
      //     }
      //     b: {
      //         value: 2, 
      //         writable: true, 
      //         enumerable: true, 
      //         configurable: true
      //     }
      // }
      


      接下來,說一說每一個屬性描述符的作用

      value-屬性值

      不多逼逼

      configurable-屬性描述符是否可被修改

      當我們設置configurable為false以后,再去修改屬性描述符的話,會報錯


      let obj = {
          a: 1,
          b: 2
      }
      Object.defineProperty(obj, 'a', {
          value: 'a',
          configurable: false
      })
      Object.defineProperty(obj, 'a', {
          value: 'a',
          configurable: true
      })
      // Uncaught TypeError: Cannot redefine property: a
      //    at Function.defineProperty (<anonymous>)
      



      enumerable-該屬性是否可被枚舉

      當設置一個屬性的enumerable為false時,該屬性不可被forin循環
      但是不影響forof循環,因為forof循環看有沒有Symbol(Symbol.iterator)
      forin循環的是屬性名,forof循環的是屬性值


      日歷

      鏈接

      個人資料

      藍藍設計的小編 http://m.jjddy.com

      存檔