Торговля закрытием функции для закрытия другой функции не приводит к более эффективному коду. Наиболее эффективным для памяти будет тот, который вообще не использует замыкания.
__proto__ = {
map: function(){},
_chop: function(str){
return str.slice( str.length, -1 );
},
chop: function(arr){
this.map(this._chop, arr);
}
}
Этот вопрос очень высок в Google по поводу "использования памяти закрытия", я не думаю, что он подходит. Это проблема, которую трудно диагностировать, хотя.
Ответ здесь - это еще один пример сокрытия функциональности внутри замыкания, но он добавляет стоимость поддержки пространства памяти для хранения этих приватных переменных.