私はNode.jsモジュールとCommonJSモジュールに侵入しているだけで、アプリの残りの部分を散らかすことなくStringオブジェクトを拡張し、見栄えの良いメソッドを提供しようとしています。
疑問に思っていたのですが、グローバルStringオブジェクトにメソッドをアタッチしてから、ファイルの下部にアタッチしても大丈夫delete
ですか?
例えば:
// hasCondition.js
String.prototype.has = function(regex) {
return regex.test(this);
};
exports.removeMethod = function () {
delete String.prototype.has;
};
。
// someFile.js
var has = require('./hasCondition');
console.log( "foo bar baz".has(/baz/) );
has.removeMethod();
console.log( "foo bar baz".has(/baz/) );
>>> true
>>> Object foo bar baz has no method 'has'