Object
Object Keys Length
Description
object
νμ
μ λ°μ΄ν° μ€μ ν€μ κ°―μλ₯Ό ꡬνλ€.
Syntax
Object.keys(obj).length
Example
var obj = {a: 1, b: 2: c: 3};
var size = Object.keys(obj).length;
console.log(size); // 3
assign
Description
assign()
λ©μλλ μ΄κ±°ν μ μλ νλμ μ΄μμ μμ€ μ€λΈμ νΈμ νλ‘νΌν°λ€μ 볡μ¬ν©λλ€.
Syntax
Object.assign(target [, sources]);
Parameter
- target
- νκ² μ€λΈμ νΈ
- sources
- νλ μ΄μμ μμ€ μ€λΈμ νΈ
Example
var obj = {a: 1};
var cp_obj = Object.assign({}, obj);
console.log(cp_obj);
// {a: 1}
var obj1 = { a: 1 };
var obj2 = { b: 2 };
var obj3 = { c: 3 };
var obj = Object.assign(o1, o2, o3);
console.log(obj);
// { a: 1, b: 2, c: 3 }
console.log(obj1);
// { a: 1, b: 2, c: 3 }, νκ² μ€λΈμ νΈ, κ·Έ μ체λ λ³νν©λλ€.
var obj1 = { a: 1, b: 1, c: 1 };
var obj2 = { b: 2, c: 2 };
var obj3 = { c: 3 };
var obj = Object.assign({}, obj1, obj2, obj3);
console.log(obj);
// { a: 1, b: 2, c: 3 }
Polyfill
if (typeof Object.assign != 'function') {
(function () {
Object.assign = function (target) {
'use strict';
if (target === undefined || target === null) {
throw new TypeError('Cannot convert undefined or null to object');
}
var output = Object(target);
for (var index = 1; index < arguments.length; index++) {
var source = arguments[index];
if (source !== undefined && source !== null) {
for (var nextKey in source) {
if (source.hasOwnProperty(nextKey)) {
output[nextKey] = source[nextKey];
}
}
}
}
return output;
};
})();
}
hasOwnProperty
Description
hasOwnProperty()
λ©μλλ κ°μ²΄κ° νΉμ νλ‘νΌν°λ₯Ό κ°μ§κ³ μλμ§ νμΈ ν©λλ€.
Syntax
Object.hasOwnProperty(prop)
Parameter
- prop
- νμΈ νλ €λ νλ‘νΌν° λͺ μΉ
Example
var obj = new Object();
obj.prop = 'exists';
obj.hasOwnProperty('prop'); // true
delete obj.prop();
obj.hasOwnProperty('prop'); // false
var obj = new Object();
obj.prop = 'exists';
obj.hasOwnProperty('prop'); // true
// μμλ νλ‘νΌν°λ κ²μ¬ν μ μλ€.
obj.hasOwnProperty('toString'); // false
obj.hasOwnProperty('hasOwnProperty'); // false
var obj = {
hasOwnProperty: function() {
return false;
},
bar: 'Here be dragons'
};
foo.hasOwnProperty('bar'); // false
({}).hasOwnProperty.call(foo, 'bar'); // true
Object.prototype.hasOwnProperty.call(foo, 'bar'); // true