强类型与静态类型、弱类型与动态类型的区别

50

据我所知,动态类型和弱类型是相同的,而静态类型和强类型也是相同的,但我不确定我是否正确。


5
可能是Static/Dynamic vs Strong/Weak的重复问题。 - joran
这个回答解决了你的问题吗?静态/动态 vs 强类型/弱类型 - adnanmuttaleb
1个回答

87

静态类型 vs 动态类型:

静态类型是指在编译时进行类型检查。您必须在代码中为变量定义类型,并且您对数据执行的任何操作都将由编译器进行检查。

动态类型是指在运行时进行类型检查。如果您尝试对不兼容的类型执行操作,将会出现运行时错误,而不是在编译代码时出现错误。但是,使用动态类型可以使函数更加通用,因为它们可以为多个数据类型编写一次。

强类型 vs 弱类型:

强类型只允许通过直接操纵该数据类型的对象来操作数据。

弱类型允许您在不考虑其类型的情况下操作数据。一些语言使用指针来实现这一点。其他语言将在执行操作之前将其中一个类型转换为另一个类型。

我包含的链接具有更详细(并且可能更清晰)的解释。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接