文章目录
JavaScript 数据类型
JavaScript 有 8 种数据类型
- 字符串
- 数字
- Bigint
- 布尔值
- 未定义Undefined
- 空值
- 符号Symbol
- 对象
对象数据类型
对象数据类型可以包含内置对象和用户定义对象:
内置对象类型可以是:
对象、数组、日期、映射、集合、整数数组、浮点数组、承诺promises等。
示例
// 数字:
let length = 16;
let weight = 7.5;
// 字符串:
let color = "Yellow";
let lastName = "Johnson";
// 布尔值
let x = true;
let y = false;
// 对象:
const person = {firstName:"John", lastName:"Doe"};
// 数组对象:
const cars = ["Saab", "Volvo", "BMW"];
// Date 对象:
const date = new Date("2022-03-25");
注意
JavaScript 变量可以保存任何类型的数据。
数据类型的概念
在编程中,数据类型是一个重要的概念。
为了能够对变量进行操作,了解一些类型很重要。
如果没有数据类型,计算机就无法安全地解决这个问题:
let x = 16 + "Volvo";
将“Volvo”加到十六有意义吗? 它会产生错误还是会产生结果?
JavaScript 会将上述示例视为:
let x = "16" + "Volvo";
注意
在添加数字和字符串时,JavaScript 会将数字视为字符串。
示例
let x = 16 + "Volvo";
示例
let x = "Volvo" + 16;
JavaScript 从左到右评估表达式。不同的序列会产生不同的结果:
JavaScript:
let x = 16 + 4 + "Volvo";
结果:
20Volvo
JavaScript:
let x = "Volvo" + 16 + 4;
结果:
Volvo164
在第一个示例中,JavaScript 将 16 和 4 视为数字,直到达到 “Volvo”。
在第二个示例中,由于第一个操作数是字符串,因此所有操作数都被视为字符串。
JavaScript 类型是动态的
JavaScript 具有动态类型。这意味着可以使用相同的变量来保存不同的数据类型:
示例
let x; // 现在 x 未定义
x = 5; // 现在 x 是数字
x = "John"; // 现在 x 是字符串
JavaScript 字符串
字符串(或文本字符串)是一系列字符,如“John Doe”。
字符串用引号括起来。您可以使用单引号或双引号:
示例
// 使用双引号:
let carName1 = "Volvo XC60";
// 使用单引号:
let carName2 = 'Volvo XC60';
您可以在字符串中使用引号,只要它们与字符串周围的引号不匹配即可:
示例
// 双引号内的单引号:
let answer1 = "It's alright";
// 双引号内的单引号:
let answer2 = "He is called 'Johnny'";
// 单引号内的双引号:
let answer3 = 'He is called "Johnny"';
JavaScript 数字
所有 JavaScript 数字都存储为十进制数(浮点数)。
数字可以带小数或不带小数:
示例
// 带小数:
let x1 = 34.00;
// 不带小数:
let x2 = 34;
指数表示法
超大或超小数可以用科学(指数)表示法表示:
示例
let y = 123e5; // 12300000
let z = 123e-5; // 0.00123
注意
大多数编程语言都有许多数字类型:
整数(整数):
byte(8 位)、short(16 位)、int(32 位)、long(64 位)
实数(浮点数):
float(32 位)、double(64 位)。
Javascript 数字始终是一种类型:
double(64 位浮点数)。
JavaScript BigInt
所有 JavaScript 数字都以 64 位浮点格式存储。
JavaScript BigInt 是一种新的数据类型 (ES2020),可用于存储太大而无法用普通 JavaScript 数字表示的整数值。
示例
let x = BigInt("123456789012345678901234567890");
JavaScript 布尔值
布尔值只能有两个值:true 或 false。
示例
let x = 5;
let y = 5;
let z = 6;
(x == y) // 返回 true
(x == z) // 返回 false
布尔值通常用于条件测试。
JavaScript 数组
JavaScript 数组用方括号书写。
数组项以逗号分隔。
以下代码声明(创建)一个名为 cars 的数组,其中包含三个项(汽车名称):
示例
const cars = ["Saab", "Volvo", "BMW"];
数组索引从零开始,这意味着第一个项为 [0],第二个项为 [1],依此类推。
JavaScript 对象
JavaScript 对象用花括号 {} 书写。
对象属性以名称:值对的形式书写,以逗号分隔。
示例
const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
上面示例中的对象(person)有 4 个属性:firstName、lastName、age 和 eyeColor。
typeof 运算符
您可以使用 JavaScript typeof 运算符来查找 JavaScript 变量的类型。
typeof 运算符返回变量或表达式的类型:
示例
typeof "" // 返回“string”
typeof“John” // 返回“string”
typeof “John Doe” // 返回“string”
示例
typeof 0 // 返回“number”
typeof 314 // 返回“number”
typeof 3.14 // 返回“number”
typeof (3) // 返回“number”
typeof (3 + 4) // 返回“number”
未定义Undefined
在 JavaScript 中,没有值的变量的值为未定义。类型也是未定义的。
示例
let car; // 值未定义,类型未定义
任何变量都可以通过将值设置为未定义来清空。类型也将未定义。
示例
car = undefined; // 值未定义,类型未定义
空值
空值与未定义无关。
空字符串既有合法值,也有类型。
示例
let car = ""; // 值为 "",typeof 为 "string"
总结
本文介绍了JavaScript 数据类型的使用,如有问题欢迎私信和评论