속성 Setters
세터(setter)/게터(getter) 말고 명시적인 함수 (예: 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 툴에서 게터 또는 세터의 레퍼런스를 찾으면 두가지 경우가 모두 나오게 되지만 명시적 함수 호출을 사용하면 원하는 함수에 대한 참조만 볼 수 있습니다.
Last updated
Was this helpful?