sql server 觸發器開發
阿新 • • 發佈:2020-08-11
宣告物件的兩種語法
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()
- 用於在一個物件上定義新的屬性或修改現有屬性, 並返回該物件.