理解 JavaScript 数据类型

JavaScript 是一种**动态类型语言**,这意味着您在声明变量时无需指定其数据类型。数据类型会在执行过程中根据需要自动确定或转换。此功能使 JavaScript 灵活且对开发人员友好。

什么是数据类型?

数据类型定义变量可以存储和操作的数据类型。JavaScript 变量可以保存任何类型的数据。在 JavaScript 中,数据类型大致分为**两种**:

1️⃣ 原始数据类型(7 种类型)

2️ 非原始数据类型(1 种类型)

1️⃣ 原始数据类型:构建块

这些是 JavaScript 中最基本的数据类型,它们是**不可变的**,这意味着它们的值不能改变。

**(1) 字符串**:表示文本数据。在 JavaScript 中,引号有 3 种类型:双引号、单引号、反引号。

📌示例:

const fname = 'Richa'; // Single quotes
const language = "JavaScript"; // Double quotes
const study = `webDev`; // Backticks
console.log(fname, language, study); // Output: Richa JavaScript webDev

**(2)数字**:表示数值(整数和浮点数)。

📌示例:

const total = 0;
const PI = 3.14;
console.log(total, PI); // Output: 0 3.14

**(3) BigInt**:表示大于 `Number` 类型可以处理的整数。通过在整数末尾附加 `n` 来创建 BigInt 值。

📌示例:

const bigNumber = 1234567890123456789012345678901234567890n;
console.log(bigNumber); // Output: 1234567890123456789012345678901234567890n

**(4)布尔值**:表示逻辑值,要么是“真”,要么是“假”。

📌示例:

const isPrimeNumber = true;
const isNewUser = false;
console.log(isPrimeNumber, isNewUser); // Output: true false

**(5)Null**:表示故意为空或者未知的值。

📌示例:

const data = null;
console.log(data); // Output: null

**(6)未定义**:表示已经声明但尚未赋值的变量。

📌示例:

let result;
console.log(result); // Output: undefined

/* Uncomment the following code and see what output will return */
/* let result = undefined;
console.log(result); */

let result_1 = undefined;
console.log(result_1); // Output: undefined

**(7) Symbol**:ES6(2015)引入,表示唯一且不可变的值。Symbol 类型用于为对象创建唯一标识符。现在,我只会简要提到这一点。我们稍后会深入探讨更多细节。

📌示例:

const uniqueId = Symbol("id");
console.log(uniqueId); // Output: Symbol(id)

2️ 非原始数据类型:复杂结构

这些数据类型可以保存值的集合或更复杂的实体。

**(1)对象**:属性的集合,其中每个属性定义为一个键值对。

📌示例:

// object literal
const person = {
    firstName: "Richa",
    lastName: "webDev",
    age: 50
};
// dot (.) notation for access properties
console.log(person.firstName); // Output: Richa

typeof 运算符

typeof 运算符返回 JavaScript 变量或表达式的数据类型。

📌示例:

console.log(typeof "Richa"); // Output: string  
console.log(typeof 0); // Output: number  
console.log(typeof 123); // Output: number  
console.log(typeof 123.12); // Output: number  
console.log(typeof (12 + 8)); // Output: number  
console.log(typeof true); // Output: boolean  
console.log(typeof 25n); // Output: bigint  
console.log(typeof undefined); // Output: undefined  
console.log(typeof null); // Output: object
console.log(typeof Symbol("uId")); // Output: symbol  
console.log(typeof function(){}); // Output: function  
console.log(typeof Math); // Output: object

**重点说明:**

  • 对象中的键不能包含连字符,除非必要,否则引号是可选的。
  • 使用点(.)符号来访问对象属性。
  • 原始类型是不可变的,而非原始类型(如对象和数组)是可变的。
  • 通常,人们使用 null 为变量分配“空”或“未知”值,而 undefined 则保留作为未分配事物的默认初始值。
  • 对于空的 typeof 运算符返回“对象”——这是语言中的错误,它不是一个对象。
  • 结论

    了解 JavaScript 的数据类型是精通该语言的基础。无论您处理的是数字、字符串还是复杂对象,了解如何有效地使用和操作这些类型都可以显著提高您的编程技能。

    您最喜欢使用 JavaScript 数据类型的哪些情况?在下面的评论中分享您的想法!😊