【JavaScript】Objectの実例方法
3221 ワード
以下の内容は学習記録であり、MDN原文を参照することができる.
環境 node v 12.18.1 npm 6.14.5 vs scode 1.46 Microsoft Edge 83 概念
Objectのインスタンスに定義された方法を例示的な方法と呼ぶ.Object.prototypeの原型オブジェクトに定義する方法です.
ハスOwnProperty
hasOwnProperty()メソッドはブール値を返し、オブジェクト自体の属性に指定された属性があるかどうかを示します.
isProttypeOf()メソッドは、オブジェクトが他のオブジェクトのプロトタイプチェーン上に存在するかどうかをテストするために使用されます.
propertyIs Enumerableメソッドは、指定された属性が列挙できるかどうかを示すブール値を返します.
String()メソッドは、オブジェクトを表す文字列を返します.toLocale StringはtoString()を呼び出した結果を返します.
valueOf()メソッドは、指定されたオブジェクトの元の値を返します.
環境
Objectのインスタンスに定義された方法を例示的な方法と呼ぶ.Object.prototypeの原型オブジェクトに定義する方法です.
ハスOwnProperty
hasOwnProperty()メソッドはブール値を返し、オブジェクト自体の属性に指定された属性があるかどうかを示します.
const object1 = {};
object1.property1 = 42;
console.log(object1.hasOwnProperty('property1'));
// expected output: true
console.log(object1.hasOwnProperty('toString'));
// expected output: false
console.log(object1.hasOwnProperty('hasOwnProperty'));
// expected output: false
isPrototypeOfisProttypeOf()メソッドは、オブジェクトが他のオブジェクトのプロトタイプチェーン上に存在するかどうかをテストするために使用されます.
function Foo() {}
function Bar() {}
function Baz() {}
Bar.prototype = Object.create(Foo.prototype);
Baz.prototype = Object.create(Bar.prototype);
var baz = new Baz();
console.log(Baz.prototype.isPrototypeOf(baz)); // true
console.log(Bar.prototype.isPrototypeOf(baz)); // true
console.log(Foo.prototype.isPrototypeOf(baz)); // true
console.log(Object.prototype.isPrototypeOf(baz)); // true
propertyIs EnumerablepropertyIs Enumerableメソッドは、指定された属性が列挙できるかどうかを示すブール値を返します.
const object1 = {};
const array1 = [];
object1.property1 = 42;
array1[0] = 42;
console.log(object1.propertyIsEnumerable('property1'));
// expected output: true
console.log(array1.propertyIsEnumerable(0));
// expected output: true
console.log(array1.propertyIsEnumerable('length'));
// expected output: false
toStringString()メソッドは、オブジェクトを表す文字列を返します.toLocale StringはtoString()を呼び出した結果を返します.
function Dog(name) {
this.name = name;
}
const dog1 = new Dog('Gabby');
Dog.prototype.toString = function dogToString() {
return `${this.name}`;
};
console.log(dog1.toString());
// expected output: "Gabby"
valueOfvalueOf()メソッドは、指定されたオブジェクトの元の値を返します.
// Array:
var array = ["ABC", true, 12, -5];
console.log(array.valueOf() === array); // true
// Date: 1970 1 1
var date = new Date(2013, 7, 18, 23, 11, 59, 230);
console.log(date.valueOf()); // 1376838719230
// Number:
var num = 15.26540;
console.log(num.valueOf()); // 15.2654
// : true false
var bool = true;
console.log(bool.valueOf() === bool); // true
// new Boolean
var newBool = new Boolean(true);
// valueOf() true,
console.log(newBool.valueOf() == newBool); // true
// , , boolean , object
console.log(newBool.valueOf() === newBool); // false
// Function:
function foo(){}
console.log( foo.valueOf() === foo ); // true
var foo2 = new Function("x", "y", "return x + y;");
console.log( foo2.valueOf() );
/*
ƒ anonymous(x,y
) {
return x + y;
}
*/
// Object:
var obj = {name: " ", age: 18};
console.log( obj.valueOf() === obj ); // true
// String:
var str = "http://www.xyz.com";
console.log( str.valueOf() === str ); // true
// new
var str2 = new String("http://www.xyz.com");
// , , , string , object
console.log( str2.valueOf() === str2 ); // false