javascript运算符的扩展

指数运算符

  1. 2**2 //4
  2. 2**3 //8
  3. // 相当于 2**(3**2)
  4. 2**3**2
  5. // 512
  6. let a = 1.5;
  7. a **= 2
  8. // 等同于 a = a*a;
  9. let b = 4
  10. b **= 3
  11. // 等同于 b= b*b*b

链式判断运算符号

  1. // 错误的写法
  2. const firstName = message.body.user.firstName || 'default';
  3. // 正确的写法
  4. const firstName = (message
  5. && message.body
  6. && message.body.user
  7. && message.body.user.firstName) || 'default';
  8. const fooInput = myForm.querySelector('input[name=foo]')
  9. const fooValue = fooInput ? fooInput.value : undefined
  10. const firstName = message?.body?.user?.firstName || 'default';
  11. const fooValue = myForm.querySelector('input[name=foo]')?.value
  12. iterator.return?.()