我是程序員小白,每天致力于基礎語法的反復學習,并通過自己的總結進行記憶?。。?/b>
今天學習:對象的新增方法
1、Object.is():比較兩個值是否完全相等
Object.is('1','1') ?輸出結果:true
Object.is('1','2') ?輸出結果:false
Object.is('1',1) ???輸出結果:false
2、Object.assign(目標對象,源對象):用于對象的合并,接收兩個參數,將源對象(source)的所有可枚舉屬性,復制到目標對象(target)
2.1、對象的合并:如果目標對象與源對象有同名屬性,或多個源對象有同名屬性,則后面的屬性會覆蓋前面的屬性
let source = {a:1,b:2,c:3}
let target = {a:1,b:2,c:4,d:5}
Object.assign(source,target)
輸出結果:{a: 1, b: 2, c: 4, d: 5}
2.2、淺拷貝
let target = {a:1,b:2,c:4,d:5}
Object.assign({},target)
輸出結果:{a: 1, b: 2, c: 4, d: 5}
2.3、同名屬性的替換
let source = {name:'lichan',school:'西安電子科技大學'}
let target = {name:'lichan',school:'陜西師范大學'}
Object.assign(source,target)
輸出結果:{name: 'lichan', school: '陜西師范大學'}
2.4、數組的處理,把數組當做對象來處理
Object.assign([],[1,2,3])
輸出結果:[1, 2, 3]
Object.assign([4,5,6,4,5,6],[1,2,3])
輸出結果:[1, 2, 3, 4, 5, 6]
3、Object.keys():返回一個數組,成員是參數對象自身的(不含繼承的)所有可遍歷(enumerable)屬性的鍵名
let object= {a:'aa',b:'bb',c:'cc'}
Object.keys(object)
輸出結果:['a', 'b', 'c']
4、Object.values():返回一個數組,成員是參數對象自身的(不含繼承的)所有可遍歷(enumerable)屬性的鍵值
let object= {a:'aa',b:'bb',c:'cc'}
Object.values(object)
輸出結果:['aa', 'bb', 'cc']
5、Object.entries():返回一個數組,成員是參數對象自身的(不含繼承的)所有可遍歷(enumerable)屬性的鍵值對數組
let object= {a:'aa',b:'bb',c:'cc'}
Object.entries(object)
輸出結果:
[
‘a’:’aa’,
‘b’:’bb’,
‘c’:’cc’
]
6、Object.fromEntries()是Object.entries()的逆操作,用于將一個鍵值對數組轉為對象。
let object= {a:'aa',b:'bb',c:'cc'}
Object.entries(object)
輸出結果:
[
‘a’:’aa’,
‘b’:’bb’,
‘c’:’cc’
]
Object.fromEntries(Object.entries(object))
輸出結果:{a: 'aa', b: 'bb', c: 'cc'}
7、Object.hasOwn(所要判斷的對象,屬性名):接受兩個參數,第一個是所要判斷的對象,第二個是屬性名,判斷屬性名是否為自身屬性,是則返回true,不是返回false
let object= {a:'aa',b:'bb',c:'cc'}
Object.hasOwn(object,’a’) ??返回結果:true
Object.hasOwn(object,’d’) ??返回結果:false