당신은 모든 문자열을 사용할 수있게되는 String.prototype
에 방법을 추가 할 수 있습니다. 그것이 대부분의 라이브러리에서 예를 들어 trim()
이 구현 된 방법입니다.
String.prototype.replaceSpecial = function() {
return this.replace(/l/g, 'L');
};
"hello".replaceSpecial(); // heLLo
그러나, 일반적으로 기본 프로토 타입에 매우 구체적인 기능을 정의하는 나쁜 관행 있습니다. 위와 똑같은 문제의 좋은 예입니다. 이러한 특정 경우에는 사용자 정의 함수 또는 랩퍼를 사용하여 작업을 수행하는 것이 좋습니다.
function replaceSpecial(str) {
return str.replace(/l/g, 'L');
}
replaceSpecial("hello"); // heLLo
또는 예를 들어 사용자 정의 네임 스페이스.
var StringUtils = {
replaceSpecial: function(str) { .. },
..
};
StringUtils.replaceSpecial("hello"); // heLLo
감사합니다. :) – Pete
당신은 가장 환영합니다 :) – Anurag
+1. 'Object.prototype' 또는'Array.prototype'를 보완하는 것이 결코 좋지 않다는 것을 언급 할 가치가 있습니다. 다른 내장 생성자 프로토 타입을 수정하는 경우도 있습니다. 예를 들어, dynarch 달력 스크립트는 다른 일반적인 스크립트를 깨뜨리는'Date.prototype'을 수정합니다. 순간. –