强类型与静态类型以及弱类型与动态类型之间的区别
Posted
技术标签:
【中文标题】强类型与静态类型以及弱类型与动态类型之间的区别【英文标题】:Difference between Strong vs Static Typing AND Weak vs Dynamic Typing 【发布时间】:2012-08-07 01:02:58 【问题描述】:据我了解,动态类型与弱类型相同,强类型与静态类型相同,但我不确定我是否正确。
【问题讨论】:
Static/Dynamic vs Strong/Weak 的可能重复项 这能回答你的问题吗? Static/Dynamic vs Strong/Weak 【参考方案1】:Static typing vs dynamic typing:
静态类型是在编译时进行类型检查。您必须在代码中为变量定义类型,并且编译器会检查您对数据执行的任何操作。
动态类型是在运行时进行类型检查。如果您尝试对不兼容的类型执行操作,而不是在编译代码时出现错误,您将得到运行时错误。但是,您将受益于拥有更多功能的函数,因为它们可以为多种数据类型编写一次。
Strong typing vs weak typing:
当您使用强类型时,您只能通过直接操作该数据类型的对象来对数据进行操作。
弱类型允许您在不考虑其类型的情况下对数据进行操作。一些语言通过指针来做到这一点。其他语言会在执行操作之前将您的一种类型转换为另一种类型。
我包含的链接有更详细(可能更清晰)的解释。
【讨论】:
以上是关于强类型与静态类型以及弱类型与动态类型之间的区别的主要内容,如果未能解决你的问题,请参考以下文章