すべてのオブジェクトの結合関数を含むように基本Objectオブジェクトを拡張しようとしています。コードは(明らかではない有効なコード)次のようになります。Object.definePropertiesでselfオブジェクトを参照する
function is_scalar(obj){return (/string|number|boolean/).test(typeof obj);}
Object.defineProperties(Object.prototype, {
"join": {
value: (seperator = " ", recursive = false) => {
var out = [];
Object.keys(Object).forEach((prop) => {
if (Array.isArray(Object[prop])) {
out.push(Object[prop].join(seperator));
}
else if(is_scalar(Object[prop])){
out.push(Object[prop]);
}
});
return out.join(seperator);
},
enumerable: false
}
});
問題は、私はObject.Keys
句のインスタンスオブジェクトを参照する方法がわからないです。
取り組み
私はすでにthis
を試してみましたが、それはwindow
オブジェクトを参照します。
また、Object
とObject.prototype
を使用してみましたが、どちらも空に見えます。あなたはis_scalar` `のようなもののためにではなく、メソッドのための矢印機能を使用する必要があります
!簡単な方法を簡略化して(なぜ ':'と '=>'を削除してうまくいくのですか? – Bergi