빌트인 프로토타입 확장하기

빌트인 객체들은 JavaScript에서 사용되는 핵심 객체들이며, 이러한 객체들의 프로토타입을 확장하여 기능을 추가하거나 수정할 수 있습니다. 이번 글에서는 빌트인 프로토타입을 확장하는 방법에 대해 알아보겠습니다.

Array.prototype에 메소드 추가하기

Array는 JavaScript에서 가장 많이 사용되는 빌트인 객체 중 하나입니다. 따라서 Array.prototype을 확장하여 배열과 관련된 유용한 메소드를 추가할 수 있습니다. 예를 들어, 배열의 모든 요소를 합치는 sum 메소드를 추가해보겠습니다.

Array.prototype.sum = function() {
  let total = 0;
  for(let i = 0; i < this.length; i++) {
    total += this[i];
  }
  return total;
}

이제 배열에서 sum 메소드를 사용하여 요소들의 합을 계산할 수 있게 되었습니다.

const numbers = [1, 2, 3, 4, 5];
const sum = numbers.sum();
console.log(sum); // Output: 15

String.prototype에 메소드 추가하기

String도 JavaScript에서 자주 사용되는 빌트인 객체입니다. String.prototype을 확장하여 문자열과 관련된 메소드를 추가할 수 있습니다. 예를 들어, 문자열에서 첫 글자를 대문자로 변환하는 capitalize 메소드를 추가해보겠습니다.

String.prototype.capitalize = function() {
  return this.charAt(0).toUpperCase() + this.slice(1);
}

이제 문자열에서 capitalize 메소드를 사용하여 첫 글자를 대문자로 변환할 수 있게 되었습니다.

const name = "john";
const capitalized = name.capitalize();
console.log(capitalized); // Output: John

주의사항

빌트인 프로토타입을 확장하는 것은 강력한 기능이지만, 잘못 사용할 경우 예상치 못한 문제가 발생할 수 있습니다. 따라서 다음 사항을 주의해야 합니다.

  1. 빌트인 프로토타입을 확장하기 전에 기존에 동일한 이름의 메소드가 있는지 검사해야 합니다. 이미 존재하는 메소드를 덮어쓰는 경우 예기치 않은 동작을 유발할 수 있습니다.
  2. 다른 라이브러리나 프레임워크와의 충돌을 방지하기 위해, 빌트인 프로토타입 확장은 신중하게 사용해야 합니다.
  3. 빌트인 프로토타입 확장은 코드의 가독성을 해칠 수 있으므로, 실제로 필요한 경우에만 사용하는 것이 좋습니다.

결론

빌트인 프로토타입을 확장하여 JavaScript의 빌트인 객체들에 기능을 추가하거나 수정할 수 있습니다. Array.prototype이나 String.prototype과 같은 빌트인 프로토타입을 확장하면 유용한 메소드를 쉽게 추가할 수 있습니다. 그러나 주의사항을 염두에 두고 사용해야 합니다.

#references