Я пытаюсь понять, как этот скрипт делает то, что делает.
object.variable = function(_) {
return arguments.length ? (variable = functor(_), object) : variable;
};
Он явно используется для разрешения переопределения значения variable
по умолчанию для object
, но что будет не так с этим кодом:
object.variable = function(_) {
return arguments.length ? variable = _ : variable;
};
НайдяФункция функтора:
function functor(d) {
return typeof d === "function" ? d : function() { return d; };
}
Я вижу, что это гарантирует, что все, что передается, обрабатывается как функция.
Так почему эта конструкция в Javascript, (variable = functor(_), object)
, я непонять, как это работает?Почему не просто variable = functor(_)