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

web编程的世界

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

根本就不存在弱类型

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值