为什么JavaScript是弱类型语言
程序员文章站
2022-05-19 10:12:07
...
在学习JavaScript的时候,说JavaScript是弱类型语言。那为什么JavaScript是弱类型语言呢。
但是在此之前我们需要了解一下弱类型语言,和强类型语言的区别。
强类型定义语言和弱类型定义语言
1)强类型定义语言:
强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。举个例子:如果你定义了一个整型变量a,那么程序根本不可能将a当作字符串类型处理。强类型定义语言是类型安全的语言。
2)弱类型定义语言:
数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。
强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。另外,“这门语言是不是动态语言”与“这门语言是否类型安全”之间是完全没有联系的!
例如:Python是动态语言,是强类型定义语言(类型安全的语言); VBScript是动态语言,是弱类型定义语言(类型不安全的语言); JAVA是静态语言,是强类型定义语言(类型安全的语言)。
关于各种语言类型的解释,请参考:http://blog.csdn.net/aiming66/article/details/78570784#t3
JavaScript为什么是弱类型语言:
<!DOCTYPE html>
<html>
<head>
<title>js练习</title>
<style type="text/css">
</style>
<script type="text/javascript">
var num=0;
alert(typeof num);
num="123";
alert(typeof num);
num=true;
alert(typeof num);
num= new Date();
alert(typeof num);
</script>
</head>
</html>
解析:开始只创建了一个变量num,为var类型,我们却可以给他赋值各种类型:数值类型,字符串,布尔类型,对象类型,为此我们可以推断出来,JavaScript为弱类型语言。
推荐阅读
-
为什么在美国的cs编程入门课大多有java和python。而在国内首先学习的语言是c/c++?
-
PHP;Visual Basic .NET;JavaScript_程序员入门必读:编程语言争霸 霸主是他
-
复数型是c语言的数据类型吗?
-
详解JavaScript 为什么要有 Symbol 类型?
-
为什么Go语言把类型声明放在后面?
-
Go语言-为什么返回值为接口类型,却返回结构体
-
java为什么是半编译半解释型语言
-
栈内存与堆内存基本、引用类型讲解,JavaScript为什么会有栈内存和堆内存之分?
-
为什么说JavaScript预解释是一种毫无节操的机制详析
-
C语言编程笔记丨为什么f(i = -1, i = -1)是未定义行为?