Object.prototype.__lookupGetter__()
Ðе ÑÑандаÑÑно: ÐÑа ÑÑнкÑÐ¸Ñ Ð½Ðµ ÑÑандаÑÑизиÑована. ÐÑ Ð½Ðµ ÑекомендÑем иÑполÑзоваÑÑ Ð½ÐµÑÑандаÑÑнÑе ÑÑнкÑии в дейÑÑвÑÑÑÐ¸Ñ Ð¿ÑоекÑÐ°Ñ , Ñак как Ð¸Ñ Ð¿Ð¾Ð´Ð´ÐµÑжка бÑаÑзеÑами огÑаниÑена, а поведение Ð¼Ð¾Ð¶ÐµÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑÑÑ Ð¸Ð»Ð¸ бÑÑÑ Ñдалено. Тем не менее, в некоÑоÑÑÑ ÑлÑÑаÑÑ , когда Ð½ÐµÑ ÑÑандаÑÑного ÑеÑениÑ, они могÑÑ Ð±ÑÑÑ Ð¿Ð¾Ð´Ñ Ð¾Ð´ÑÑей алÑÑеÑнаÑивой.
УÑÑаÑело: ÐÑа возможноÑÑÑ Ð±Ñла Ñдалена из веб-ÑÑандаÑÑов. ХоÑÑ Ð½ÐµÐºÐ¾ÑоÑÑе бÑаÑзеÑÑ Ð¿Ð¾-пÑÐµÐ¶Ð½ÐµÐ¼Ñ Ð¼Ð¾Ð³ÑÑ Ð¿Ð¾Ð´Ð´ÐµÑживаÑÑ ÐµÑ, она Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð² пÑоÑеÑÑе ÑдалениÑ. Ðе иÑполÑзÑйÑе ÐµÑ Ð½Ð¸ в ÑÑаÑÑÑ , ни в новÑÑ Ð¿ÑоекÑÐ°Ñ . СÑÑаниÑÑ Ð¸Ð»Ð¸ веб-пÑиложениÑ, иÑполÑзÑÑÑие еÑ, могÑÑ Ð² лÑбой Ð¼Ð¾Ð¼ÐµÐ½Ñ ÑломаÑÑÑÑ.
Сводка
ÐеÑод __lookupGetter__() возвÑаÑÐ°ÐµÑ ÑÑнкÑиÑ, пÑивÑзаннÑÑ Ðº геÑÑеÑÑ Ñказанного ÑвойÑÑва.
СинÑакÑиÑ
obj.__lookupGetter__(sprop)
ÐаÑамеÑÑÑ
sprop-
СÑÑока, ÑодеÑжаÑÐ°Ñ Ð¸Ð¼Ñ ÑвойÑÑва, Ñей геÑÑÐµÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ бÑÑÑ Ð²Ð¾Ð·Ð²ÑаÑÑн.
ÐпиÑание
ÐÑли Ð´Ð»Ñ ÑвойÑÑва обÑекÑа бÑл опÑеделÑн геÑÑеÑ, Ñо на него невозможно ÑоÑлаÑÑÑÑ ÑеÑез ÑÑо ÑвойÑÑво, поÑколÑÐºÑ Ð¾Ð½Ð¾ ÑÑÑлаеÑÑÑ Ð½Ð° возвÑаÑаемое знаÑение геÑÑеÑа. ÐеÑод __lookupGetter__() Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ ÑÑÑлки на геÑÑеÑ.
Ð¡ÐµÐ³Ð¾Ð´Ð½Ñ ÑÑо возможно ÑделаÑÑ ÑÑандаÑÑнÑм ÑпоÑобом ÑеÑез Object.getOwnPropertyDescriptor() и Object.getPrototypeOf().
ÐÑимеÑÑ
var obj = {
get foo() {
return Math.random() > 0.5 ? "foo" : "bar";
},
};
// ÐеÑÑандаÑÑнÑй и ÑÑÑаÑевÑий ÑпоÑоб
obj.__lookupGetter__("foo");
// (function() { return Math.random() > 0.5 ? 'foo' : 'bar'; })
// СпоÑоб, ÑовмеÑÑимÑй Ñо ÑÑандаÑÑом
Object.getOwnPropertyDescriptor(obj, "foo").get;
// (function() { return Math.random() > 0.5 ? 'foo' : 'bar'; })
СпеÑиÑикаÑии
Ðе ÑвлÑеÑÑÑ ÑаÑÑÑÑ ÐºÐ°ÐºÐ¾Ð¹-либо ÑпеÑиÑикаÑии.