动态类型, 静态类型, 强类型, 弱类型
2024-01-08 本文已影响0人
小冰山口
- 先来说说
强类型
和弱类型
:
只需记住一点, 是否支持隐式类型
转换
举个例子
python
中:
a = 1
b = '12345'
print(a+b)
运行后报错:
![](https://img.haomeiwen.com/i2868984/3d7468c01b11c38a.png)
javascript
中:
a = 88
b = '12345'
console.log(a + b)
运行后打印:
![](https://img.haomeiwen.com/i2868984/f046dce551690864.png)
在javascript
中, a
本身是number
类型, 在进行+
运算符操作时, 隐式转换成了string
类型.
在python
中, 就没有这种隐式转换.
因此, python
是强类型, javascript
是弱类型
- 再说
动态类型语言
和静态类型语言
只需记住一点, 类型检查时编译时
还是运行时
.
上面的两个例子:
python
和javascript
在编译时都不报错. 说明他们都是在运行时, 才决定具体的数据类型.
那么, python
和javascript
都属于动态类型语言
那静态类型语言的例子呢?
我认为, swift
是静态类型语言
, 且是强类型语言
具体的观点, 下面这篇文章讲得很好
Swift语言的类型推断