让我们深入了解JavaScript中的数据类型基础知识!
什么是数据类型?
代码语言:javascript复制数据类型是特定类型数据的分类。我们有数字、布尔值(true或false)、字符串(用单引号‘’或双引号“”括起的字符序列)以及更复杂的数据类型,称为数组和对象(我们稍后会看到这些)。
let a = 1; // a是数字
let b = "香蕉"; // b是字符串
let c = true; // c是布尔值
let d; // d是未定义的
例如,a已被定义为使用let关键字的变量。我们可以分配任何数据类型给它,甚至可以通过留空来初始化它。
为什么这很重要?
在将数据存储在变量中时,我们知道它的类型很重要,因为它决定了我们可以对它做什么!例如,我们可以将数字相加1 1 = 2,这是没问题的。但是,如果我们尝试在它们的数据类型为字符串时相加数字“1” “1” = 11,结果将是1和1,而不是我们可能期望的和为2。现在让我们详细看看每种类型。
数字
JavaScript中的数字可以带有或不带有小数点,例如:
代码语言:javascript复制let a = 1;
let b = 1.1;
它们还可以使用e指数进行缩写,例如:
代码语言:javascript复制let million = 1000000;
// 或者..
let million = 1e6;
这里的6是零的数量,在这种情况下等于一百万。
在使用数字时,我们经常会遇到一些特殊的值,Infinity(正无穷大)、-Infinity(负无穷大)和NaN(不是数字)。
如果我们尝试除以0,例如:
代码语言:javascript复制3/0 // Infinity
结果将是Infinity,因为JavaScript计算结果超出了它最大可能的数字9007199254740992。相反的情况将产生:
代码语言:javascript复制-3/0 // -Infinity
NaN的值表示“不是数字”,这意味着该值不被视为数字。这将生成非法表达式,例如:
代码语言:javascript复制let a = 100 / "Greg"; // a将是NaN
因为当然我们不能将数字除以字符串!
然而,在某些情况下,JavaScript也可以在类型转换中转换数据类型,例如:
代码语言:javascript复制let a = 100 / "2" // a将是50
在这种情况下,JavaScript将使用类型强制转换,将我们的“2”字符串视为数字。
字符串
如前所述,字符串是存在于单引号或双引号中的字符序列:
代码语言:javascript复制let foodChoice = '脆皮切达芝士辣椒奇多';
let foodChoice = "脆皮切达芝士辣椒奇多";
字符串不仅限于字母,数字和符号也是可以接受的。重要的是引号定义了我们的字符串数据类型。
在代码中使用单引号还是双引号实际上取决于个人偏好,最重要的是保持一致性!
代码语言:javascript复制let eater = "布鲁斯";
let foodChoice = "脆皮切达芝士辣椒奇多";
alert(eater "喜欢" foodChoice "!")
// 布鲁斯喜欢脆皮切达芝士辣椒奇多!
布尔值
我们使用关键字true和false设置变量为布尔值数据类型。
代码语言:javascript复制let a = true;
let b = false;
在执行数学运算时,布尔值特别有用,可以确定表达式是true还是false,例如:
代码语言:javascript复制10 > 5 // true,10大于5
5 > 10 // false,5不大于10
5 < 10 // true,5小于10
5 === 5 // true,5等于5
如果我们将表达式赋给一个变量,例如:
代码语言:javascript复制let a = 10 > 5; // true
我们的变量a当然将持有true的值。
在程序中,当我们需要根据真或假的评估执行操作时,布尔值就会非常有用。例如,接收的登录凭据是否评估为true?允许访问 ✔️。还是为false?拒绝访问 ❌。
数组
数组是一种稍微复杂的数据类型,但它们实际上非常容易理解!数组是通过单个变量持有多个值的一种方式。例如:
代码语言:javascript复制let colors = ["红色", "绿色", "蓝色", "黄色"]
数组通过使用方括号[]来定义,就像上面的例子一样。我们已经将数组分配给变量colors,其中包含我们的元素红色、绿色、蓝色和黄色。
对colors变量的调用将输出整个数组“红色”,“绿色”,“蓝色”,“黄色”。
数组的真正强大之处在于它们的内容可以进行迭代,我们可以调用数组变量中的单个项目。为此,我们使用索引号,放在方括号内:
代码语言:javascript复制colors[0] // 红色
colors[1] // 绿色
colors[2] // 蓝色
colors[3] // 黄色
colors[4] // 未定义
注意:我们的第一个数组元素始终具有索引位置0。因此,请记住从0开始计数,而不是从1开始!
数组具有很大的灵活性,可以添加、删除和更改元素。现在让我们来看看我们的最后一种数据类型:对象!
对象
对象数据类型通常用于保存大量相关数据。对象数据值存储在键/值对中,这些对构成了一种存储和访问数据的逻辑方式,使用花括号{},例如:
代码语言:javascript复制let user = {firstName:"简", lastName:"杜", age:34, location:"温哥华"};
为了清晰起见,我们可以将其写成多行:
代码语言:javascript复制let user = {
firstName: "简",
lastName: "杜",
age: 34,
location: "温哥华"
};
我们的上面例子包含四个属性firstName、lastName、age和location。我们的属性可以是任何数据类型,使用对象名.属性来访问,如下所示:
代码语言:javascript复制user.firstName // 简
user.lastName // 杜
user.age // 34
user.location // 温哥华
我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!