'use strict';
var _get = function get(_x, _x2, _x3) {
var _again = true;
_function: while (_again) {
var object = _x, property = _x2, receiver = _x3;
desc = parent = getter = undefined;
_again = false;
if (object === null)
object = Function.prototype;
var desc = Object.getOwnPropertyDescriptor(object, property);
if (desc === undefined) {
var parent = Object.getPrototypeOf(object);
if (parent === null) {
return undefined;
} else {
_x = parent;
_x2 = property;
_x3 = receiver;
_again = true;
continue _function;
}
} else if ('value' in desc) {
return desc.value;
} else {
var getter = desc.get;
if (getter === undefined) {
return undefined;
}
return getter.call(receiver);
}
}
};
Во-первых, так толком и не понял для чего надо сие чудо.
Во-вторых, "desc = parent = getter = undefined;" - зачем до всего им явно указывают "undefined", учитывая, что ниже им всё равно присвоится значение, да и "var" ниже им прописаны, следовательно "undefined" уже закинуты.
В-третьих, странная запись в теле функции:
"_function: while (_again)"