es.shim/lib/object.js

53 lines
1022 B
JavaScript

/**
*
* @authors yutent (yutent@doui.cc)
* @date 2017-02-27 18:02:56
*
*/
"use strict";
// 对象合并
if(!Object.prototype.merge){
Object.defineProperty(Object.prototype,
'merge',
{
value: function(){
let args = Array.from(arguments)
if(args.length < 1 || typeof args[0] !== 'object')
return this
args.unshift(this)
Object.assign.apply(null, args)
return this
},
enumerable: false,
writable: true
})
}
/**
* [ 判断对象/数组是否为空]
* eg.
* Object.empty(obj/arr)
*/
if(!Object.empty){
Object.defineProperty(Object,
'empty',
{
value: function(obj){
try{
for(let i in obj){
return false
}
}catch(e){}
return true
},
enumerable: false
})
}
实现部分新API, 以及一些常用的扩展方法。 nodejs和浏览器通用,
JavaScript 100%