点击在线阅读,体验更好 | 链接 |
---|---|
现代JavaScript高级小册 | 链接 |
深入浅出Dart | 链接 |
现代TypeScript高级小册 | 链接 |
Javascript数据类型和类型转换
在JavaScript中,理解数据类型,如何区分它们,以及它们如何被转换是至关重要的。在这篇文章中,我们将探讨这些主题,以帮助巩固你的JavaScript基础。
基础数据类型和引用数据类型
当涉及JavaScript的数据类型时,我们可以将其分为两类:基本数据类型和引用数据类型。
- 基本数据类型(Primitive Types):
-
数字(Number):表示数值,可以包含整数和浮点数。例如:
let age = 25;
-
字符串(String):表示文本数据,由一串字符组成。可以使用单引号或双引号包裹。例如:
let name = 'John';
-
布尔(Boolean):表示逻辑值,只有两个可能的值:
true
(真)和false
(假)。例如:let isStudent = true;
-
空值(Null):表示空值或无值。它是一个特殊的关键字
null
。例如:let myVariable = null;
-
未定义(Undefined):表示变量声明但未赋值的值。它是一个特殊的关键字
undefined
。例如:let myVariable;
-
符号(Symbol):表示唯一且不可变的值,用于创建对象属性的唯一标识符。在ES6中引入。例如:
let id = Symbol('id');
- 引用数据类型(Reference Types):
-
对象(Object):表示复杂的数据结构,可以包含多个键值对。对象可以通过大括号
{}
创建,或者通过构造函数创建。例如:let person = { name: 'John', age: 25, city: 'New York' };
-
数组(Array):表示有序的数据集合,可以包含任意类型的数据。数组可以通过方括号
[]
创建。例如:let numbers = [1, 2, 3, 4, 5];
-
函数(Function):是一段可执行的代码块,可以接收参数并返回值。函数可以作为变量、参数传递、存储在对象属性中等。例如:
function greet(name) { console.log('Hello, ' + name + '!'); }
基本数据类型在JavaScript中是按值传递的,而引用数据类型则是按引用传递的。这意味着基本数据类型的值在传递过程中是复制的,而引用数据类型的值在传递过程中是共享的。
了解这些基本数据类型和引用数据类型,为后续讲解类型转换提供了基本的背景知识。它们在JavaScript中的不同行为和用法对于理解类型转换的概念和机制非常重要。
使用typeof操作符
在JavaScript中,我们可以使用typeof
操作符来获取一个值的数据类型。下面是一些例子:
console.log(typeof undefined); // 'undefined'
console.log(typeof true); // 'boolean'
console.log(typeof 78); // 'number'
console.log(typeof 'hey'); // 'string'
console.log(typeof Symbol()); // 'symbol'
console.log(typeof BigInt(1)); // 'bigint'
console.log(typeof new String('abc'