Я использую объекты для namespace моего кода JavaScript. Эти объекты обычно содержат функции, которые называются сопоставлением this -pointer с самим объектом с помощью apply. Однако я считаю неудобным использовать this -pointer каждый раз, когда хочу получить доступ к другим функциям или свойствам объекта, особенно потому, что во многих случаях я использую new -оператор для использования объектов-функций так, как вы использовать классы. Я бы предпочел написать new Line() вместо new this.Line().
Было бы здорово, если бы вы могли добавить локальные переменные в функцию, как это делает php с extract (после псевдокода это немного сложнее)
var sample_object = {
"some_function": function() {}
}
test() {
extract(sample_object);
some_function(); // imported from sample_object
}
Возможно ли это?