强类型VS弱类型,您都知道些什么?

web编程的世界

强类型VS弱类型,您都知道些什么?_第1张图片

在web编程里面,我们使用表单的时候发现有一个有意义的问题,不知道大家注意了没有,比如一个商品的价格,我们将这个商品的价格作为数字字符串来处理是可以的,作为数值来对待也是合理的,还有QQ号也是一样,我们作为数字字符串来处理是可以的,作为整数来处理也是可以的,还有数字型的短信验证码和图形验证码等等,这样的例子太多太多,我们就不一一例举了,这个有趣的现象似乎给我们了一种启示,就是对于我们的现实世界来说,很多业务场景数据类型并不是那么的重要,因为同样的数据可以用多种数据类型来表示。

根本就不存在弱类型

强类型VS弱类型,您都知道些什么?_第2张图片

上面说到同一种数据可以有多种类型的存在,并且理论上都是合理的,但是对于我们的计算机世界来说,区别就大了,比如用字符串去加一个整数,结果是什么?用一个非数字字符串去加一个整数,结果又是什么?如果没有数据类型,那么在运行的时候计算机怎么为这些数据分配存储空间?这一系列的问题说明了一个事实,就是在计算机的世界里面,都是强类型的语言,换句话说,我们的编译器或者解释器完成了这一步操作。

弱类型不断在向强类型方向靠近

强类型VS弱类型,您都知道些什么?_第3张图片

一个事实就是PHP7开始支持强类型了,从ECMAScript 2015开始,JavaScript开始支持类型数组了,即开始支持Int8/16/32Array、Uint8/16/32Array和Float32/64Array等数组了。

至于为什么要靠近,或许需要我们写过一些大的程序和同时熟悉两种类型的语言才能够深刻的明白其原因,互联网的很多理由都感觉太浅了,我们争取在后面的文章完善这一部分的整理。

你可能感兴趣的:(强类型VS弱类型,您都知道些什么?)