JavaScript 为什么是一种无类型语言?


JavaScript 是一种无类型语言,因为在 JavaScript 中,变量可以保存任何数据类型,这意味着 JavaScript 没有类型声明,创建变量时不需要指定任何数据类型,这与其他编程语言(如Java、C#、C++等)不同,后者需要使用int、char、float等来创建变量。

在 JavaScript 中,我们使用var、let 和 const来创建变量。无类型语言的一大优点是它提供了灵活性,可以将任何类型的值重新赋值给变量,无论初始值是否与重新赋值的值类型相同。

示例 1

在这个示例中,我们创建了一个名为“x”的变量,并为其赋值一个数字,然后赋值一个字符串,然后赋值一个数组,然后赋值一个对象、undefined 和 null。在每一步中,我们都打印变量“x”的类型。

<html> <head> <title> Example - JavaScript is an untyped language </title> </head> <body> <h2>JavaScript is an untyped language </h2> <p>Printing the type of variable after reassigning multiple data types into it.</p> <p id ="result"></p> </body> <script> let x = 10; document.getElementById("result").innerHTML += typeof x + "<br>"; x = "Tutorials Point" document.getElementById("result").innerHTML += typeof x + "<br>"; x = [1, 2,3 ,4, 5, 6] document.getElementById("result").innerHTML += typeof x + "<br>"; x = {name: "Saurabh"} document.getElementById("result").innerHTML += typeof x + "<br>"; x = undefined document.getElementById("result").innerHTML += typeof x + "<br>"; x = null document.getElementById("result").innerHTML += typeof x + "<br>"; x = function(){} document.getElementById("result").innerHTML += typeof x + "<br>"; </script> </body> </html>

示例 2

在 JavaScript 中,我们可以对两种不同类型的变量进行任何运算。

例如,如果我们将 2(类型:数字)与“3”(类型:字符串)相加,则得到“22”(类型:字符串),而不是任何错误,这也是无类型语言的一个特性。

<!DOCTYPE html> <html> <head> <title> How is JavaScript an untyped language </title> </head> <body> <h2> How is JavaScript an untyped language ? </h2> <p>Adding two different type variables.</p> <p id ="result"></p> </body> <script> let x = 2; // Number let y = "3" // String let sum = x + y; document.getElementById("result").innerHTML += sum + "<br>" // 23 document.getElementById("result").innerHTML += typeof sum // String </script> </body> </html>

示例 3

在下面的示例中,我们定义三个变量来存储三个年龄。我们使用 var、let 和 const 来定义变量。

<html> <body> <p id ="result"></p> <script> var age1 = 20; let age2 = 18; const age3 = 32; function check(age){ if (age > 18) { document.getElementById("result").innerHTML +="Qualified for driving<br>"; } else { document.getElementById("result").innerHTML +="Not Qualified for driving<br>" } } check(age1); check(age2); check(age3); </script> </body> </html>

示例 4

在下面的示例中,我们定义两个变量,第一个存储字符串,第二个存储布尔值。我们使用 document.write() 显示这两个变量。

<html> <head> </head> <body> <script> const price = "Is price good?" var flag = true document.write(price+flag) </script> </body> </html>

更新于:2022年8月11日

900 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.