1

JavaScript 被称为是一种“松散类型”的语言。这是因为运行时允许对不同类型的操作数执行操作(通过强制):

var number = 6;
var bool = true;
var result = number + bool; //result is 7

来自一个主要是静态类型、强类型的背景,我很难推断这种方法的好处。当然,它可以产生一些非常简洁的语法,但在试图追踪错误时,它似乎也可能导致一场噩梦。那么,除了简洁之外,松散类型和隐式类型转换还有哪些好处呢?

4

1 回答 1

4

松散类型的语言有许多不同之处,可以作为优势:

  • 没有必要interfaces。只要一个对象有你需要的方法名,就调用那个方法。不使用接口可以简化编码减少代码大小。
  • 出于非常相似的原因,不需要泛型。
  • “按类型”函数重载处理更简单如果函数需要字符串参数,则只需将传入值转换为字符串。如果需要类型检查,可以在那里添加。
  • 我们没有或不需要课程。[几乎] 一切都是对象使得传递值变得更加容易。无需自动装箱,无需投射值。
  • 对象很容易扩展而不会破坏代码。您可以创建一个数组,然后indexOf使用二分搜索替换替换方法。最终结果更小,恕我直言,代码更简洁。
于 2014-08-11T02:16:43.227 回答