exponentiation-basic.js 753 B

12345678910111213141516171819202122232425262728
  1. try {
  2. assert(2 ** 0 === 1);
  3. assert(2 ** 1 === 2);
  4. assert(2 ** 2 === 4);
  5. assert(2 ** 3 === 8);
  6. assert(2 ** -3 === 0.125);
  7. assert(3 ** 2 === 9);
  8. assert(0 ** 0 === 1);
  9. assert(2 ** 3 ** 2 === 512);
  10. assert(2 ** (3 ** 2) === 512);
  11. assert((2 ** 3) ** 2 === 64);
  12. assert("2" ** "3" === 8);
  13. assert("" ** [] === 1);
  14. assert([] ** null === 1);
  15. assert(null ** null === 1);
  16. assert(undefined ** null === 1);
  17. assert(isNaN(NaN ** 2));
  18. assert(isNaN(2 ** NaN));
  19. assert(isNaN(undefined ** 2));
  20. assert(isNaN(2 ** undefined));
  21. assert(isNaN(null ** undefined));
  22. assert(isNaN(2 ** "foo"));
  23. assert(isNaN("foo" ** 2));
  24. console.log("PASS");
  25. } catch (e) {
  26. console.log("FAIL: " + e);
  27. }