JavaScript 對象操做

  Object.defineProperty(obj, prop, descriptor)方法會直接在一個對象上定義一個新屬性,或者修改一個對象的現有屬性,並返回這個對象。數組

  const  freezeObj = Object.freeze(obj), Object.freeze()方法能夠凍結一個對象,凍結後,不能對象freezeObj添加新的屬性,不能修改其已有屬性的值,不能刪除已有的屬性,以及不能修改改對象已有屬性的可枚舉性、可配置性、可寫性。this

  descriptor:spa

  configurable 可配置性,當且僅當該屬性爲true時,該屬性的描述符才能被改變,同時該屬性也能被刪除,默認爲 true。對象

  enumerable 當且僅當該屬性爲true時,該屬性才能出如今對象的枚舉遍歷中。 (for  in) ,  object.keys()。object.keys(obj)會返回一個有給定對象的自身可枚舉屬性的屬性名組成的數組,數組中名的排列順序和使用 for .... in 循環遍歷該對象時返回的順序一致。繼承

  value 值ip

  writable 當且僅當爲true時,才能被賦值運算符改變。原型鏈

  get 一個給屬性提供getter的方法,若是沒有則 getter 爲undefined,當訪問該屬性時該方法會被執行,方法執行時沒有參數傳入,但會傳入this對象。get

  set 一個給屬性提供setter的方法,若是沒有則setter爲undefined,當該屬性修改時會觸發該方法,參數爲新的value.。原型

  定義 get 和 set 能夠對 對象的屬性操做進行監聽。get ,set 不能與 writable ,value同時定義,數據描述符不能與存取描述符衝突,有些對象上的屬性是原型鏈上繼承來的屬性。it

相關文章
相關標籤/搜索