发现一个我无法解决的有趣问题。
1个条件。只能改json!
我无法满足一个条件:data.hasOwnProperty("\u{0030}")
class JobSeeker {
get data() {
return '{"\\\\u{0030}": {}}';
}
}
let data;
console.assert(
typeof (data = JSON.parse(new JobSeeker().data)) === "object"
&& data.hasOwnProperty("\u{0030}")
&& typeof Object.values(data)[0] === "object"
&& Boolean(data[+false]) === false
);
您认为适合所有条件的正确 json 是什么?
最佳答案
如果将 data
getter 更改为:
get data() {
return '{"\\u0030": null}';
}
通过了第一个测试,因为返回了有效的 JSON 字符串。第二个测试通过,因为“0”是对象中唯一属性的名称。第三个测试通过,因为 typeof null
是 "object"
。第四个测试通过,因为 Boolean(null)
为 false
。
我认为如果将 \\u0030
更改为简单的 0
也会起作用。
关于javascript - 对于前端开发人员来说这是一个有趣的挑战,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57612123/