| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/valueOf | [Back] [Original] |
Get to know MDN better
function MyNumberType(n) {
this.number = n;
}
MyNumberType.prototype.valueOf = function () {
return this.number;
};
const object = new MyNumberType(4);
console.log(object + 3);
// : 7
valueOf()
:
valueOf valueOf() primitiveValue.valueOf() Object.prototype.valueOf()
JavaScript valueOf valueOf JavaScript
toString() toString() Object.prototype.toString() valueOf()
Object.prototype null toString() Object.prototype.valueOf() valueOf() valueOf() toString() [Symbol.toPrimitive]() valueOf toString
valueOf() this
const obj = { foo: 1 };
console.log(obj.valueOf() === obj); // true
console.log(Object.prototype.valueOf.call("primitive"));
// [String: 'primitive'] (a wrapper object)
valueOf
Box valueOf
class Box {
#value;
constructor(value) {
this.#value = value;
}
valueOf() {
return this.#value;
}
}
Box JavaScript
const box = new Box(123);
console.log(box + 456); // 579
console.log(box == 123); // true
valueOf JavaScript
box.valueOf();
[Symbol.toPrimitive]() valueOf() valueOf() valueOf() toString()
+new Date(); // new Date().getTime()
+{}; // NaN toString() "[object Object]"
+[]; // 0 toString()
+[1]; // 1 toString() "1"
+[1, 2]; // NaN toString() "1,2"
+new Set([1]); // NaN toString() "[object Set]"
+{ valueOf: () => 42 }; // 42
| ECMAScript 2027 LanguageSpecification # sec-object.prototype.valueof |
Objectassign()create()defineProperties()defineProperty()entries()freeze()fromEntries()getOwnPropertyDescriptor()getOwnPropertyDescriptors()getOwnPropertyNames()getOwnPropertySymbols()getPrototypeOf()groupBy()hasOwn()is()isExtensible()isFrozen()isSealed()keys()preventExtensions()seal()setPrototypeOf()values()Object/Function| Web Proxy Viewer | New URL | Original Page |