带你读《现代Javascript高级教程》六、Javascript数据类型和类型转换(1)

简介: 带你读《现代Javascript高级教程》六、Javascript数据类型和类型转换(1)

六、Javascript数据类型和类型转换

在JavaScript中,理解数据类型,如何区分它们,以及它们如何被转换是至关重要的。在这篇文章中,我们将探讨这些主题,以帮助巩固你的JavaScript基础。

1.基础数据类型和引用数据类型

当涉及JavaScript的数据类型时,我们可以将其分为两类:基本数据类型和引用数据类型。

1基本数据类型(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');

2引用数据类型(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中的不同行为和用法对于理解类型转换的概念和机制非常重要。

  1. 使用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'));  // 'object'
console.log(typeof null);  // 'object'
console.log(typeof function(){});  // 'function'
console.log(typeof {name: 'Jack'});  // 'object'

 

注意,typeof返回的是值的类型,而不是变量的类型。因为在JavaScript中,变量本身并没有类型,它们可以持有任何类型的值。

 

对大多数对象使用typeof时,返回的结果是'object',对于函数则返回'function'。特别的,对null使用typeof返回的也是'object',这是一个历史遗留的bug,我们无法改正。

所以,如果我们需要检查一个值是否为null,我们可以使用以下方式:

var a = null;
console.log(!a && typeof a === "object"); // true


带你读《现代Javascript高级教程》六、Javascript数据类型和类型转换(2)https://developer.aliyun.com/article/1349669?groupCode=tech_library

相关文章
|
17天前
|
JavaScript 前端开发
JavaScript基础知识-基本数据类型和引用数据类型
关于JavaScript基础知识的文章,主要介绍了基本数据类型和引用数据类型。
29 2
JavaScript基础知识-基本数据类型和引用数据类型
|
1天前
|
存储 JavaScript 对象存储
js检测数据类型有那些方法
js检测数据类型有那些方法
|
7天前
|
JavaScript 前端开发
JavaScript 类型转换
JavaScript 类型转换
16 4
|
19天前
|
开发者 图形学 开发工具
Unity编辑器神级扩展攻略:从批量操作到定制Inspector界面,手把手教你编写高效开发工具,解锁编辑器隐藏潜能
【8月更文挑战第31天】Unity是一款强大的游戏开发引擎,支持多平台发布与高度可定制的编辑器环境。通过自定义编辑器工具,开发者能显著提升工作效率。本文介绍如何使用C#脚本扩展Unity编辑器功能,包括批量调整游戏对象位置、创建自定义Inspector界面及项目统计窗口等实用工具,并提供具体示例代码。理解并应用这些技巧,可大幅优化开发流程,提高生产力。
67 1
|
24天前
|
JavaScript NoSQL 前端开发
|
28天前
|
JavaScript 前端开发
JS常用数据类型转换(数字型和字符串型之间转换)
JS常用数据类型转换(数字型和字符串型之间转换)
34 2
|
28天前
|
前端开发 JavaScript
Web 前端大揭秘!JS 数据类型检测竟如此震撼,一场惊心动魄的代码探秘之旅等你来!
【8月更文挑战第23天】在Web前端开发中,合理检测数据类型至关重要。JavaScript作为动态类型语言,变量类型可在运行时变化,因此掌握检测技巧十分必要。
22 1
|
28天前
|
存储 前端开发 JavaScript
Web前端的奇幻之旅:探索JS数据类型的奥秘与差异
【8月更文挑战第23天】JavaScript是一种动态类型语言,提供多种内置数据类型支持信息的存储与操作。这些类型对Web前端开发者至关重要,直接影响代码性能与可读性。JavaScript数据类型主要分为两大类:原始数据类型(如Undefined、Null、Boolean等)与引用数据类型(如Object、Array等)。原始类型直接存储值,而引用类型存储指向数据的引用。原始类型不可变且存储在栈中,访问更快;引用类型则存储在堆中,可通过其引用进行修改。理解这些差异有助于编写高效、可维护的代码。
29 0
|
28天前
|
JavaScript
js常用数据类型转换
js常用数据类型转换
25 0
|
29天前
|
JavaScript 前端开发
揭开JavaScript变量作用域与链的神秘面纱:你的代码为何出错?数据类型转换背后的惊人秘密!
【8月更文挑战第22天】JavaScript是Web开发的核心,了解其变量作用域、作用域链及数据类型转换至关重要。作用域定义变量的可见性与生命周期,分为全局与局部;作用域链确保变量按链式顺序查找;数据类型包括原始与对象类型,可通过显式或隐式方式进行转换。这些概念直接影响代码结构与程序运行效果。通过具体示例,如变量访问示例、闭包实现计数器功能、以及动态表单验证的应用,我们能更好地掌握这些关键概念及其实践意义。
22 0