快速掌握JavaScript:理解动态类型特性

发表时间: 2024-04-01 20:37

一小时入门JavaScript:JavaScript动态类型。

有一点让Javascript与许多编程语言不同的是Javascript是一种动态语言。我所说的动态是什么意思?在编程语言中有两种类型:静态语言和动态语言。在静态语言中,当我们声明一个变量时,该变量的类型被设置,未来不能改变。而在像JavaScript这样的动态语言中,变量的类型可以在运行时改变。

我们来看看这段代码。所以在上一堂课的例子中,我们已经声明了这个名字变量,并把它设置为一个字符串。所以名字的类型目前是字符串,但它以后可能会改变。

让我们来看看。在这里的控制台里,我们可以执行一些JavaScript代码。我们有这种类型的运算符,通过它,我们可以检查一个变量的类型。然后在此之后,我们添加变量的名字,比如,在这个案例中就是我们的名字变量。请注意,名字的类型是字符串。

现在,如果我们重新为名字分配一个不同的值,比如一个数字,并检查它的类型,看,类型现在已经改变成了数字。这就是我们所说的动态语言。与静态语言不同,这些变量的类型会在运行时确定,根据我们赋予它们的值。

现在让我们来看看几个类型运算符的例子。顺便说一句,注意"typeof"是另一个保留关键字,所以你不能把一个变量命名为typeof。我们可以通过按Ctrl和L清空控制台。

现在让我们来看看age的类型。它是一个数字。现在如果我们把age改成浮点数,我知道这有点奇怪,但就让我们在这个例子里坚持下去吧。30.1.然后再看看age的类型,它仍然是一个数字。

所以在JavaScript中,不像其他编程语言,我们没有两种类型的数字。我们没有浮点数和整数。所有的数字都是number类型。

现在来看看isApproved的类型,它是一个布尔值,就像我之前告诉过你的那样。第一个名字是什么类型?来看一下第一个名字的类型,它是未定义的。这很有趣,因为这个变量的值是未定义的,但它的类型也是未定义的。这是什么意思?

之前我告诉过你,有两种类型的分类,有基本类型或值类型以及引用类型。在基本类型的分类中,有字符串、数字、布尔值、未定义以及空值。所以未定义实际上是一种类型,但也是一种值。在这个例子中,因为将名字设置为未定义作为一个值,它的类型也是未定义,好吗?

选择的颜色?来看看,所以选定颜色的类型,这个变量的类型是一个对象。什么是对象?这就是下一堂课的内容了。点击关注。