前端开发人员面临的一个有趣挑战

时间:2019-08-22 14:54:48

标签: javascript json

发现了一个我无法解决的有趣问题。

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是什么?

1 个答案:

答案 0 :(得分:2)

如果您将data吸气剂更改为此:

get data() {
  return '{"\\u0030": null}';
}

通过第一个测试,因为返回了有效的JSON字符串。第二个测试通过,因为“ 0”是对象中唯一属性的名称。第三次测试通过,因为typeof null"object"。第四项测试通过,因为Boolean(null)false

我认为,如果您将\\u0030更改为普通0,它也会起作用。