Skip to content

Latest commit

 

History

History
30 lines (23 loc) · 1.45 KB

propertySetters.md

File metadata and controls

30 lines (23 loc) · 1.45 KB

Ограничьте использование сеттеров свойств

Предпочтительнее явные функции установки/получения (например, функции setBar и getBar), а не сеттеры/геттеры.

Рассмотрим следующий код:

foo.bar = {
    a: 123,
    b: 456
};

При наличии сеттеров/геттеров:

class Foo {
    a: number;
    b: number;
    set bar(value:{a:number,b:number}) {
        this.a = value.a;
        this.b = value.b;
    }
}
let foo = new Foo();

Это не лучшее использование сеттеров свойств. У человека, читающего первый пример кода, нет контекста обо всех вещах, которые могут измениться. В то время как кто-то, вызывающий foo.setBar(value), может догадаться, что что-то может измениться в foo.

Бонус: поиск ссылок работает лучше, если у вас разные функции. В инструментах TypeScript, если вы найдете ссылки на геттер или сеттер, вы получите оба, тогда как при явных вызовах функций вы получите только ссылки на соответствующую функцию.