1. 程式人生 > 實用技巧 >sql server 觸發器開發

sql server 觸發器開發

宣告物件的兩種語法

 let obj = { 'name': 'frank', 'age': 18 }

let obj = new Object({'name': 'frank'})

如何刪除物件的屬性

delete obj.xxx或delete obj['xxx']

  • 即可刪除obj的xxx屬性

  • 注意區分

    • 含有屬性名,但值為undefined

      • 'xxx' in obj ===undefined

      • obj.xxx ===undefined

        • 不能斷定'xxx'是否為obj的屬性
    • 不含屬性名

      • ‘xxx’ in obj = = = false

如何檢視物件的屬性(讀屬性)

檢視自身所有屬性

  • Object.keys(obj)

    • 檢視key
  • Object.entries(obj)

    • 檢視所有

檢視自身+共有屬性

- console.dir(obj)

  • 或者自己依次用Object.keys打印出obj.__proto__(不推薦用)

判斷一個屬性是自身的還是共有的

  • obj.hasOwnProperty('toString')

看單個屬性

  • obj['name'] (推薦用)

    • 這裡的name是字串
  • obj.name

    • 這裡的name是字串
  • obj[name]

    • 這裡的name是變數

注:讀物件的屬性時,

如果使用 [ ] 語法,那麼 JS 會先求 [ ] 中表達式的值,注意區分表示式是變數還是常量。
如果使用點語法,那麼點後面一定是 string 常量。

如何修改或增加物件的屬性(寫)

自身屬性

  • obj['name'] = 'jack'

    • 更改自身屬性
  • Object.assign(obj, {age: 18, gender: 'man'})

    • 批量賦值

共有屬性

  • Object.prototype['toString'] = 'xxx'

    • 改共有屬性

隱藏屬性

  • let obj = Object.creat(common)

    • 改原型

'name' in obj和obj.hasOwnProperty('name') 的區別

'name' in obj可以判斷obj物件不含xxx屬性

  • 自身屬性和共有屬性都返回true

obj.hasOwnProperty('name')用來判斷一個屬性是obj自身的還是共有的

  • 僅僅是自身屬性才返回true

延伸

Object.defineProperty()

  • 用於在一個物件上定義新的屬性或修改現有屬性, 並返回該物件.