需要帮助将我的头缠在“ this”和console.assert上

时间:2019-08-22 19:41:05

标签: javascript es6-class

我遇到了这个JS es6挑战: 我需要替换“ someName”,以便此代码传递提供的断言。 提供的代码:

class myChallenge {
    /**
     * Assert #1
     */
    constructor() {
        let a = 0;
        this['someName'] = () => a +++ a;
    }
}

我只能更改“ someName”。没有其他的。甚至周围都没有''。 我根本无法在此类中添加或删除其他任何内容。 我无法以任何方式更改断言。

这是断言:

let inst = new myChallenge();
console.assert(
    inst == 1 && inst == 3 && inst == 5
);

我认为JS中的+++将被编译为

a+1 + a

但是我不知道如何将对象实例等于数字

我也不知道如何调用此函数。 对于那些对CodeWars更有经验的人来说,有趣的挑战!

我尝试用各种奇怪的东西(例如“ this”,“ inst”或“()”甚至“”)替换“ someName”。如预期的那样,只需在对象上创建一个键。断言仍然失败

0 个答案:

没有答案