我遇到了这个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”。如预期的那样,只需在对象上创建一个键。断言仍然失败