Hasty Briefsbeta

双语

JavaScript Chose Violence

a year ago
  • #JavaScript
  • #Programming
  • #Humor
  • JavaScript 仅用10天就设计完成,因此存在一些怪异特性。
  • JS中的日期类型会自动将年份减去1900,导致历史日期计算错误。
  • JS的月份从0开始计数,这与大多数数字系统不同。
  • JS的浮点数运算存在精度问题(例如0.1 + 0.2 ≠ 0.3)。
  • JS的相等比较很棘手,应该始终使用三等号(===)。
  • 在JS中NaN等于NaN,但正确检测方法是使用Number.isNaN()。
  • 使用parseInt()时应包含基数参数,避免八进制解析问题。
  • 避免使用eval(),因其存在安全风险且是糟糕实践。
  • JS的类只是语法糖,并不完全支持面向对象编程。
  • finally代码块会覆盖try块的返回值,这与其他语言不同。
  • 当没有参数时,Math.min()和Math.max()会出现意外行为。
  • 原始类型(如数字)不能直接调用方法。
  • JS数组可以拥有非索引属性,就像隐藏的房间。
  • 尽管存在缺陷,JS已不断改进并通过TypeScript等工具被广泛使用。