Доступ к закрытым методам JS

Я работаю над попыткой сделать объект JS и доступ к закрытым методам. Проблема, с которой я сталкиваюсь при попытке вернуть функцию, заключается в том, что частные методы недоступны. Код ниже.

var Item = (function() {

    var price = 0;
    var name = '';
    var description = '';
    var quantity = '';
    var attributes = {};

    var Item = function(data) {

    }

    function setPrice(variable) {
        this.price = variable;
    };

    function getPrice() {
        return this.price;
    };

    function setName(variable) {
        this.name = variable;
    };

    function getName() {
        return this.name;
    };

    function setDescription(variable) {
        this.description = variable;
    };

    function setQuantity(variable) {
        this.quanity = variable;
    };

    return function(data){

        setPrice : setPrice;
        getPrice : getPrice;
        setName : setName;
        setDescription : setDescription;
        setQuantity : setQuantity;

        return new Item(data);
    }

})();

item2 = Item();
    item2.setPrice('3');
alert(item2.getPrice());

С помощью этой настройки, как я могу получить доступ к закрытым методам?

Ответы на вопрос(2)

Ваш ответ на вопрос