私は事前にjsの知識がなくてもJavaScriptTheGood Partsを読んでいて、このビットが私を困惑させました。明確にする必要があると思います。
JavaScriptを使用すると、言語の基本的なタイプを拡張できます。第3章では、Object.prototypeにメソッドを追加すると、そのメソッドをすべてのオブジェクトで使用できるようになることを確認しました。これは、関数、配列、文字列、数値、正規表現、およびブール値に対しても機能します。たとえば、Function.prototypeを拡張することで、すべての関数でメソッドを使用できるようにすることができます。
次に、この例を続けます。
Function.prototype.method = function (name, func) {
this.prototype[name] = func;
return this;
};
現在、すべての基本型には「メソッド」メソッドがあるため、次のような新しい関数を定義できます。
Number.method('integer', function () {
return Math[this < 0 ? 'ceiling' : 'floor'](this);
});
しかし、この本は以前、すべてが機能ではなくオブジェクトにリンクしていることを指摘していました!これはどのように機能していますか?