JavaScript 开发技术大全 - 第3章 JS 数据类型
JavaScript 语言在数据类型方面相对于其他语言而言,具有非常灵活的特点。这是因为 JavaScript 在遵循 ECMAScript 规范的基础上,主要采用了基本数据类型和引用数据类型两种方式来处理数据。
基本数据类型
JavaScript 的基本数据类型有以下 7 种:
- 数字类型(Number)
这种类型主要用来表示数字,包括整数和浮点数。在 JavaScript 中,无论输入的数字有多大,都会被自动转化为浮点数来存储,其精度为 15
位,例如:
javascript
let num1 = 514; // 整数
let num2 = 3.14; // 浮点数,也可以写成 3.14e2
console.log(num1); // 输出 514
console.log(num2); // 输出 3.14
- 字符串类型(String)
这种类型主要用来表示文本字符串,可以使用单引号、双引号、反引号来创建,例如:
javascript
let str1 = 'JavaScript'; // 单引号
let str2 = "ECMAScript"; // 双引号
let str3 = `it is a string`; // 反引号支持模板字符串
console.log(str1, str2, str3); // 输出 JavaScript ECMAScript it is a string
- 布尔类型(Boolean)
这种类型主要用来表示 true
和 false
两个状态,例如:
javascript
let isTrue = true; // true 或 false,不是字符串
console.log(isTrue); // 输出 true
null
类型
这种类型只有一个值,即 null
,用于表示变量为空,其类型为空对象(object),例如:
javascript
let a = null;
console.log(a); // 输出 null
undefined
类型
这种类型同样只有一个值,即 undefined
,表示变量已声明但未初始化,或者对象中缺少该属性,例如:
javascript
let name;
console.log(name); // 输出 undefined
console.log({}.attr); // 输出 undefined
Symbol
类型
这种类型是 ES6 新增的数据结构,主要用于唯一性的判断,例如:
javascript
let s1 = Symbol(); // 创建一个唯一性的 Symbol 值
let s2 = Symbol('description'); // 创建一个带有描述的 Symbol 值
let obj = {};
obj['name'] = 'JavaScript';
obj[s1] = 'symbol value';
console.log(obj);
console.log(obj[s1]); // 输出 symbol value
BigInt
类型
这种类型用来表示超过 2^53 - 1
的整数值,例如:
javascript
let a = BigInt(9007199254740991);
let b = BigInt('9007199254740991');
console.log(a); // 输出 9007199254740991n
console.log(b); // 输出 9007199254740991n
console.log(10n * a); // 输出 90071992547409910n
引用数据类型
JavaScript 中的引用数据类型主要包括对象、数组和函数。
- 对象类型(Object)
对象是由一组无序的键值对组成的,其中键必须是字符串或 Symbol 类型,值可以是任意类型的数据,例如:
javascript
let person = {
name: 'Lily',
age: 18,
sex: 'female'
};
console.log(person.name); // 输出 Lily
对象可以通过点语法或方括号语法进行访问,例如:
javascript
let obj = {};
obj.name = 'JavaScript'; // 等价于 obj['name'] = 'JavaScript';
console.log(obj.name); // 输出 JavaScript
- 数组类型(Array)
数组是一组有序的元素组成的集合,其中每个元素都可以是任意类型的数据,例如:
javascript
let arr = [1, 2, 3, 'JavaScript', true];
console.log(arr[0]); // 输出 1
数组也是对象的一种形式,因此也可以添加属性、方法等,例如:
javascript
let arr = [];
arr.name = 'JavaScript'; // 添加一个属性
arr.push(1, 2, 3); // 添加元素
console.log(arr.name); // 输出 JavaScript
console.log(arr.length); // 输出 3
- 函数类型(Function)
函数是一个可以被重复使用的代码块,它可以接受任意数量的参数,并且可以返回任意类型的值。函数可以被定义为函数声明或函数表达式的形式,例如:
```javascript
// 函数声明
function add(a, b) {
return a + b;
}
console.log(add(1, 2)); // 输出 3
// 函数表达式
let sub = function(a, b) {
return a - b;
}
console.log(sub(1, 2)); // 输出 -1
```
以上就是 JavaScript 中的数据类型,开发者在使用时可以根据自己的需要选择具体的数据类型,充分发挥 JavaScript 的灵活特点。
示例说明
示例1:Symbol 类型的使用
let s1 = Symbol();
let s2 = Symbol('description');
console.log(typeof s1); // 输出 symbol
console.log(typeof s2); // 输出 symbol
console.log(s1 === s2); // 输出 false
在上述示例中,我们创建了两个 Symbol 类型的变量,其中 s1
是一个唯一性的 Symbol 值,而 s2
是带有描述的 Symbol 值。由于每个 Symbol 值都是唯一的,因此 s1
和 s2
不相等。
示例2:数组添加属性
let arr = [];
arr.name = 'JavaScript';
arr.push(1, 2, 3);
console.log(arr.name); // 输出 JavaScript
console.log(arr[3]); // 输出 3
console.log(arr.length); // 输出 3
在上述示例中,我们创建了一个数组变量 arr
,并且给其添加了一个属性 name
,然后通过 push
方法添加元素。需要注意的是,虽然数组也是一种对象的形式,但是添加属性并不会影响到它的长度和索引值。因此,arr.length
仍然为 3,而 arr[3]
是 undefined。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript开发技术大全-第3章 js数据类型 - Python技术站