У меня есть очень простая функция:JavaScript: Изменить массив непосредственно только в пределах своей собственной функции
var errorsViewModel = function() {
var self = this;
var _errors = ko.observableArray([]);
self.get = function() {
return _errors;
};
self.insert = function (error) {
_errors.push(error);
};
}
То, что я хочу acomplish это сделать _errors
массива изменяемого непосредственно только в пределах своей собственной функции. То есть пользователи извне могут получить массив для чтения через метод get
и вставить его элементы только через метод insert
.
Но чтобы не быть в состоянии сделать что-то вроде этого:
var err = new errorsViewModel();
var array = err.get();
array.push('item');
Вместо использования интерфейса errorsViewModel:
err.insert('some error');
Возможно ли это?
Возвращает объект, который предоставляет только функции чтения вместо того, чтобы возвращать массив как таковой – techfoobar