JavaScript を使用すると、機能を基本型に拡張できます。たとえば、メソッドを Object.prototype に追加すると、そのメソッドをすべてのオブジェクトで使用できるようになります。 このアプローチは、関数、配列、文字列、数値、正規表現、およびブール値に対しても同様に機能します。
たとえば、Function.prototype にメソッドを追加して、すべての関数で使用できるようにすることができます:
Function.prototype.method = function(name, func) { this.prototype[name] = func; return this; }
Function.prototype にメソッド メソッドを追加してからメソッドを追加すると、メソッドを追加しなくても、メソッド メソッドを直接呼び出すことができます。プロトタイプを書くために。たとえば、JavaScript には整数型がありません。整数メソッド クラスを Number.prototype に追加することでこれを実装できます。
Number.method("integer", function(){ return Math[this < 0 ? 'ceil' : ''floor'](this); }); console.log((-10 / 3).integer()); //out put -3
基本型にメソッドを追加することで、言語の表現力が大幅に向上します。 JavaScript プロトタイプ継承の動的な性質により、新しいメソッドは、メソッドが追加される前に作成されたオブジェクトを含むすべてのオブジェクト インスタンスに即座に割り当てられます。
基本型のプロトタイプはパブリックな構造体であるため、クラスライブラリを使用する場合は注意が必要です。安全な方法は、メソッドが存在しないことが確実な場合にのみメソッドを追加することです。例:
Function.prototype.method = function(name, func) { if (!this.prototype(name)) { this.prototype[name] = func; } return this; };