JavaScript
- 3 ответа
- 0 вопросов
2
Вклад в тег
// TypeScript
class Foo {
private bar = "lol"; // приватное поле класса
baz = 42;
}
const foo = new Foo();
console.log((foo as any).bar) // "lol"
const factory = () => {
// используем замыкание, чтобы ограничить область видимости
const privateProp = Symbol();
function Foo() {
// используем символ как идентификатор поля
this[privateProp] = "lol";
this.bar = 42;
}
return new Foo()
}
const foo = factory();
// foo[privateProp] использовать невозможно вне замыкания
console.log(foo.bar) // 42