Baseline Widely available
СводкаÐеÑод valueOf()
возвÑаÑÐ°ÐµÑ Ð¿ÑимиÑивное знаÑение Ñказанного обÑекÑа.
JavaScript вÑзÑÐ²Ð°ÐµÑ Ð¼ÐµÑод valueOf
Ð´Ð»Ñ Ð¿ÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ð±ÑекÑа в пÑимиÑивное знаÑение. Ðам Ñедко поÑÑебÑеÑÑÑ Ð²ÑзÑваÑÑ Ð¼ÐµÑод valueOf
ÑамоÑÑоÑÑелÑно; JavaScript авÑомаÑиÑеÑки вÑзÑÐ²Ð°ÐµÑ ÐµÐ³Ð¾ пÑи обнаÑÑжении обÑекÑа, когда ожидаеÑÑÑ Ð¿ÑимиÑивное знаÑение.
Ðо ÑмолÑаниÑ, меÑод valueOf
наÑледÑеÑÑÑ ÐºÐ°Ð¶Ð´Ñм обÑекÑом, пÑоизоÑедÑим Ð¾Ñ Object
. ÐаждÑй вÑÑÑоеннÑй обÑÐµÐºÑ ÑдÑа пеÑеопÑеделÑÐµÑ ÑÑÐ¾Ñ Ð¼ÐµÑод, возвÑаÑÐ°Ñ Ð¿Ð¾Ð´Ñ
одÑÑее знаÑение. ÐÑли обÑÐµÐºÑ Ð½Ðµ Ð¸Ð¼ÐµÐµÑ Ð¿ÑимиÑивного знаÑениÑ, valueOf
возвÑаÑÐ°ÐµÑ Ñам обÑекÑ, коÑоÑÑй оÑобÑажаеÑÑÑ ÐºÐ°Ðº:
ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ valueOf
в ÑвоÑм коде Ð´Ð»Ñ Ð¿ÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²ÑÑÑоеннÑÑ
обÑекÑов в пÑимиÑивное знаÑение. Ðогда Ð²Ñ ÑоздаÑÑе полÑзоваÑелÑÑкий обÑекÑ, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе пеÑеопÑеделиÑÑ Ð¼ÐµÑод Object.prototype.valueOf()
, ÑÑÐ¾Ð±Ñ Ð²ÑзÑваÑÑ ÑобÑÑвеннÑй меÑод вмеÑÑо меÑода по ÑмолÑÐ°Ð½Ð¸Ñ Ð¸Ð· Object
.
valueOf
в полÑзоваÑелÑÑкиÑ
обÑекÑаÑ
ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑоздаÑÑ ÑÑнкÑиÑ, вÑзÑваемÑÑ Ð²Ð¼ÐµÑÑо меÑода valueOf
по ÑмолÑаниÑ. ÐаÑа ÑÑнкÑÐ¸Ñ Ð½Ðµ должна пÑинимаÑÑ Ð°ÑгÑменÑов.
ÐÑедположим, Ñ Ð²Ð°Ñ ÐµÑÑÑ Ð¾Ð±ÑÐµÐºÑ Ñипа myNumberType
и Ð²Ñ Ñ
оÑиÑе ÑоздаÑÑ Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ меÑод valueOf
. СледÑÑÑий код пÑиÑÐ²Ð°Ð¸Ð²Ð°ÐµÑ Ð¾Ð¿ÑеделÑннÑÑ Ð¿Ð¾Ð»ÑзоваÑелем ÑÑнкÑÐ¸Ñ Ð¼ÐµÑÐ¾Ð´Ñ valueOf
обÑекÑа:
myNumberType.prototype.valueOf = function () {
return customPrimitiveValue;
};
ÐаÑÐ¸Ð½Ð°Ñ Ñ ÑÑого меÑÑа в ваÑем коде, в лÑбое вÑемÑ, когда обÑÐµÐºÑ Ñипа myNumberType
бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð² конÑекÑÑе, где он должен бÑÑÑ Ð¿ÑедÑÑавлен пÑимиÑивнÑм знаÑением, JavaScript бÑÐ´ÐµÑ Ð°Ð²ÑомаÑиÑеÑки вÑзÑваÑÑ ÑÑнкÑиÑ, опÑеделÑннÑÑ Ð² ÑÑом коде.
ÐеÑод обÑекÑа valueOf
обÑÑно вÑзÑваеÑÑÑ Ð´Ð²Ð¸Ð¶ÐºÐ¾Ð¼ JavaScript, но Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе вÑзваÑÑ ÐµÐ³Ð¾ и ÑамоÑÑоÑÑелÑно, как показано ниже:
ÐÑимеÑание: ÐбÑекÑÑ Ð² ÑÑÑоковом конÑекÑÑе пÑеобÑазÑÑÑÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¼ÐµÑода toString()
, ÑÑо оÑлиÑаеÑÑÑ Ð¾Ñ Ð¾Ð±ÑекÑов String
, пÑеобÑазÑÑÑиÑ
ÑÑ Ð² ÑÑÑоковÑе пÑимиÑÐ¸Ð²Ñ Ð¼ÐµÑодом valueOf
. ÐÑе обÑекÑÑ Ð¸Ð¼ÐµÑÑ Ð¿ÑеобÑазование в ÑÑÑÐ¾ÐºÑ Ð²Ð¸Ð´Ð° "[object type]
". Ðо многие обÑекÑÑ Ð½Ðµ пÑеобÑазÑÑÑÑÑ Ð² ÑиÑло, логиÑеÑкое знаÑение или ÑÑнкÑиÑ.
valueOf
var o = new Object();
myVar = o.valueOf(); // [object Object]
СпеÑиÑикаÑии СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами СмоÑÑиÑе Ñакже
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4