Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Связь статических объектов с приватными переменными (https://javascript.ru/forum/misc/42679-svyaz-staticheskikh-obektov-s-privatnymi-peremennymi.html)

danik.js 05.11.2013 19:33

Цитата:

Сообщение от okouser
Создание объектов по типу Enum.

Как это понимать? В моем понимании enum - упорядоченный набор констант. Причем тут создание объектов?

danik.js 05.11.2013 19:44

Приведи тогда код на Java или C# того, что ты хочешь сделать в js.

danik.js 05.11.2013 20:18

А причем тут Enum?


Чем не нравится такой вариант?
function A(name) {
    this.name = name;
}

A.prototype.toString = function() {
    return this.name;
};

A.A1 = new A("1");
A.A2 = new A("2");
A.A3 = new A("2");



Более строгий, ES5 (IE8- отпадает) вариант:

function A(name) {
    this._name = name;
}

A.prototype = {
    get name() { return this._name },
    set name(value) { this._name = value },
    toString: function() { return this.name }
};

Object.defineProperty(A.prototype, 'constructor', {value: A});

A.A1 = new A("1");
A.A2 = new A("2");
A.A3 = new A("2");

danik.js 05.11.2013 20:43

Цитата:

Сообщение от okouser
Здесь namе может быть доступным кому угодно, но в ООП есть масса примеров, когда переменная должна быть приватной: так называемый принцип черного ящика.

Верно, но в js нет приватных свойств. Используй TypeScript


Часовой пояс GMT +3, время: 06:57.