gpt4 book ai didi

javascript - 在 Object.defineProperties 中引用 self 对象

转载 作者:行者123 更新时间:2023-12-03 06:03:27 25 4
gpt4 key购买 nike

我正在尝试扩展基本对象对象以包含所有对象的连接函数。代码如下所示(显然不是有效代码):

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对象。

我也尝试过使用ObjectObject.prototype两者看起来都是空的。

最佳答案

Don't use an arrow function.

Object.defineProperties(Object.prototype, {
"join": {
value: function (seperator = " ", recursive = false) {
console.log(this);
},
enumerable: false
}
});


({}).join()

关于javascript - 在 Object.defineProperties 中引用 self 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39650447/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com