메서드 체이닝은 객체 메서드 호출을 연결하여 코드를 보다 간결하고 읽기 쉽게 만드는 프로그래밍 기법입니다
이 방식은 여러 메서드를 호출할 때, 중간 변수에 저장하거나 반복적인 코드를 작성하지 않아도 되기 때문에 코드가 간결해지고 직관적으로 이해하기 쉬워집니다.
class Calculator {
constructor(value = 0) {
this.value = value;
}
add(number) {
this.value += number;
return this;
}
subtract(number) {
this.value -= number;
return this;
}
multiply(number) {
this.value *= number;
return this;
}
divide(number) {
if (number !== 0) {
this.value /= number;
} else {
console.error("0으로 나눌 수 없습니다.");
}
return this;
}
print() {
console.log(this.value);
return this;
}
}
const calc = new Calculator();
calc.add(10).subtract(5).multiply(2).divide(5).print();
메서드 체이닝의 장점
1.코드 가독성 향상
중간 변수 없이 직관적으로 연속적인 작업을 표현할 수 있습니다.
2. 코드 간결화
불필요한 코드를 줄여 효율적으로 작성할 수 있습니다.
3.유연성 증가
메서드 호출 순서를 유동적으로 조정할 수 있습니다.
메서드 체이닝 구현 시 주의점
객체를 반환하는 메서드 작성
- 메서드 체이닝을 지원하려면 각 메서드가 반드시 this를 반환해야 합니다.
체이닝 가능한 메서드 설계
- 메서드는 기존 객체 상태를 변경하거나 필요한 작업을 수행한 뒤, 체이닝이 계속될 수 있도록 설계해야 합니다.
디버깅 어려움
-메서드 체이닝이 길어질 경우, 어느 부분에서 오류가 발생했는지 추적하기 어려울 수 있습니다.