”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > JavaScript 数据类型

JavaScript 数据类型

发布于2024-11-15
浏览:810

JavaScript Data Types

JavaScript 数据类型

JavaScript提供了不同的数据类型来保存各种值。 JavaScript 有两种主要的数据类型。

  1. 原始类型
  2. 非原始类型

原始数据类型

JavaScript 提供的预定义数据类型称为原始数据类型。原始数据类型也称为内置数据类型。它们可以保存一个简单的值。

String、Number、BigInt、Boolean、undefined、null 和 Symbol 是 JavaScript 中的原始数据类型。

数字数据类型

JavaScript中的数字类型包含整数和浮点数。除了这些数字之外,JavaScript 中还有一些特殊数字,例如 Infinity-InfinityNaN(非数字)。

let x = 20;
let y= 15;

console.log(x   y); // Output: 35
console.log(typeof (x   y)); // Output: number

字符串数据类型

字符串表示文本数据。它包含一个字符序列。例如,“hello”、“JavaScript”等。在 JavaScript 中,字符串用引号括起来:

  • 单引号:'你好'
  • 双引号:“你好”
  • 反引号:你好
// string enclosed within single quotes
let language = 'JavaScript';
console.log(language) // Output: JavaScript

// string enclosed within double quotes
let frameWork = "React";
console.log(frameWork); // Output: React

// string enclosed within backticks
let message = `${frameWork} is a ${language} framework`;
console.log(message); // Output: React is a JavaScript framework

布尔数据类型

在 JavaScript 中,布尔数据类型表示逻辑实体。它只有两个值:true 或 false。布尔值通常用在条件语句中,例如 if、else、while 和 三元运算符,以根据特定条件控制执行流程。

  • True:表示正确或有效的逻辑状态。
  • False:表示不正确或无效的逻辑状态。
let isAvailable = true;

if (isAvailable) {
    console.log("The item is available.");
} else {
    console.log("The item is not available.");
}

// Output: The item is available.

未定义的数据类型

在 JavaScript 中,undefined 是一种特殊的数据类型和值,表示变量已被声明但尚未赋值。它代表“未初始化”或“未知”状态。 undefined 的类型为 undefined.

let x;
console.log(x); // Output: undefined
console.log(typeof x); // Output: "undefined"

空数据类型

在JavaScript中,null代表没有值什么都没有。例如,

let text = null;
console.log(text);  // Output: null

符号数据类型

Symbol 数据类型是唯一且不可变的原始值,在 ES6 (ECMAScript 2015) 中引入。符号主要用作对象属性的唯一标识符,确保属性键不会发生冲突,即使它们具有相同的名称。

让符号1 = Symbol(); 让symbol2 = Symbol(“描述”); 让symbol3 = Symbol(“描述”); 控制台.log(符号1); // 输出:Symbol() 控制台.log(符号2); // 输出:符号(描述) console.log(符号2 === 符号3); // 输出: false (每个符号都是唯一的)
let symbol1 = Symbol();
let symbol2 = Symbol("description");
let symbol3 = Symbol("description");

console.log(symbol1); // Output: Symbol()
console.log(symbol2); // Output: Symbol(description)
console.log(symbol2 === symbol3); // Output: false (Each symbol is unique)

非原始数据类型

从 JavaScript 语言的原始数据类型派生的数据类型称为非原始数据类型。它也称为派生数据类型或引用数据类型。它们可以保存多个值。非原始类型包括 Object、Array 和 RegExp。

对象数据类型

在 JavaScript 中,对象是相关数据和函数的集合,称为属性和方法。属性是存储数据的“键:值”对,而方法是与可以操作其属性的对象关联的函数。


让人 = { 姓名:“约翰·多伊”, 年龄:30岁, 是否受雇:真实, 问候:函数(){ console.log("你好,我的名字是" this.name); } }; console.log(人名); // 输出:约翰·多伊 person.greet(); // 输出:你好,我的名字是 John Doe
let person = {
    name: "John Doe",
    age: 30,
    isEmployed: true,
    greet: function() {
        console.log("Hello, my name is "   this.name);
    }
};

console.log(person.name); // Output: John Doe
person.greet(); // Output: Hello, my name is John Doe
数组数据类型

在 JavaScript 中,数组是一种特殊形式的对象,用于在单个变量中存储多个值。它可以容纳各种数据类型并允许动态调整大小。元素通过索引访问,从 0 开始。


// 创建数组并用值初始化 让课程= ['HTML','CSS','JavaScript','React']; 控制台.log(课程); //
// Creating an Array and Initializing with Values
let courses = ['HTML', 'CSS', 'JavaScript', 'React'];

console.log(courses); // [ 'HTML', 'CSS', 'JavaScript', 'React' ]
版本声明 本文转载于:https://dev.to/sumayaakter533/javascript-data-types-4i2h?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • 除了“if”语句之外:还有什么地方可以在不进行强制转换的情况下使用具有显式“bool”转换的类型?
    除了“if”语句之外:还有什么地方可以在不进行强制转换的情况下使用具有显式“bool”转换的类型?
    无需强制转换即可上下文转换为 bool您的类定义了对 bool 的显式转换,使您能够在条件语句中直接使用其实例“t”。然而,这种显式转换提出了一个问题:“t”在哪里可以在不进行强制转换的情况下用作 bool?上下文转换场景C 标准指定了四种值可以根据上下文转换为 bool 的主要场景:语句:if、w...
    编程 发布于2024-11-15
  • 为什么 Visual Studio 2010 中 x86 和 x64 的浮点运算不同?
    为什么 Visual Studio 2010 中 x86 和 x64 的浮点运算不同?
    x86 和 x64 之间的浮点算术差异在 Visual Studio 2010 中,x86 和 x64 版本之间的浮点算术存在明显差异当比较某些表达式的值时出现。这种差异体现在以下代码中:float a = 50.0f; float b = 65.0f; float c = 1.3f; float ...
    编程 发布于2024-11-15
  • 如何提高带有通配符的 MySQL LIKE 运算符的性能?
    如何提高带有通配符的 MySQL LIKE 运算符的性能?
    MySQL LIKE 运算符优化问题:使用通配符(例如 '%test% ')?答案: 是的,在查询中使用特定模式时,MySQL 可以优化 LIKE 运算符的性能。前缀通配符: 如果您的查询类似于 foo LIKE 'abc%' 或 foo LIKE 'abc�...
    编程 发布于2024-11-15
  • 如何使用 PHP 通过 POST 向外部网站发送数据?
    如何使用 PHP 通过 POST 向外部网站发送数据?
    在 PHP 中通过 POST 重定向和发送数据在 PHP 中,您可能会遇到需要将用户重定向到外部的情况网站并通过 POST 将数据传递到该网站。与 HTML 表单不同,PHP 本身并不支持此行为。GET 与 POST在 Web 开发中,有两种主要方法用于从源发送数据到目的地:GET:数据作为查询参数...
    编程 发布于2024-11-15
  • 如何修复 macOS 上 Django 中的“配置不正确:加载 MySQLdb 模块时出错”?
    如何修复 macOS 上 Django 中的“配置不正确:加载 MySQLdb 模块时出错”?
    MySQL配置不正确:相对路径的问题在Django中运行python manage.py runserver时,可能会遇到以下错误:ImproperlyConfigured: Error loading MySQLdb module: dlopen(/Library/Python/2.7/site-...
    编程 发布于2024-11-15
  • 如何使用 MySQL 查找今天生日的用户?
    如何使用 MySQL 查找今天生日的用户?
    如何使用 MySQL 识别今天生日的用户使用 MySQL 确定今天是否是用户的生日涉及查找生日匹配的所有行今天的日期。这可以通过一个简单的 MySQL 查询来实现,该查询将存储为 UNIX 时间戳的生日与今天的日期进行比较。以下 SQL 查询将获取今天有生日的所有用户: FROM USERS ...
    编程 发布于2024-11-15
  • 大批
    大批
    方法是可以在对象上调用的 fns 数组是对象,因此它们在 JS 中也有方法。 slice(begin):将数组的一部分提取到新数组中,而不改变原始数组。 let arr = ['a','b','c','d','e']; // Usecase: Extract till index p...
    编程 发布于2024-11-15
  • 在 Go 中使用 WebSocket 进行实时通信
    在 Go 中使用 WebSocket 进行实时通信
    构建需要实时更新的应用程序(例如聊天应用程序、实时通知或协作工具)需要一种比传统 HTTP 更快、更具交互性的通信方法。这就是 WebSockets 发挥作用的地方!今天,我们将探讨如何在 Go 中使用 WebSocket,以便您可以向应用程序添加实时功能。 在这篇文章中,我们将介绍: WebSoc...
    编程 发布于2024-11-15
  • Bootstrap 4 Beta 中的列偏移发生了什么?
    Bootstrap 4 Beta 中的列偏移发生了什么?
    Bootstrap 4 Beta:列偏移的删除和恢复Bootstrap 4 在其 Beta 1 版本中引入了重大更改柱子偏移了。然而,随着 Beta 2 的后续发布,这些变化已经逆转。从 offset-md-* 到 ml-auto在 Bootstrap 4 Beta 1 中, offset-md-*...
    编程 发布于2024-11-15
  • 如何使用 GCC 捕获 Linux 中的分段错误?
    如何使用 GCC 捕获 Linux 中的分段错误?
    捕获 Linux 中的分段错误问:我在第三方库中遇到分段错误,但我无法解决根本问题。是否有跨平台或特定于平台的解决方案来使用 gcc 捕获 Linux 中的这些错误?A:Linux 允许将分段错误作为异常处理。当程序遇到此类故障时,它会收到 SIGSEGV 信号。通过设置信号处理程序,您可以拦截此信...
    编程 发布于2024-11-15
  • 如何在不创建实例的情况下访问Go结构体的类型?
    如何在不创建实例的情况下访问Go结构体的类型?
    在不创建物理结构的情况下访问 Reflect.Type在 Go 中,动态加载问题的解决方案需要访问结构的类型,而无需物理创建它们。虽然现有的解决方案要求在类型注册之前创建结构体并清零,但存在一种更有效的方法。人们可以利用 reflect.TypeOf((*Struct)(nil)).Elem()手术...
    编程 发布于2024-11-15
  • Java中如何高效地将整数转换为字节数组?
    Java中如何高效地将整数转换为字节数组?
    Java 中整数到字节数组的高效转换将整数转换为字节数组可用于多种目的,例如网络传输或数据存储。有多种方法可以实现此转换。ByteBuffer 类:一种有效的方法是使用 ByteBuffer 类。 ByteBuffer 是一个存储二进制数据并提供各种操作来操纵它的缓冲区。使用 ByteBuffer ...
    编程 发布于2024-11-15
  • 如何在 Go 中按多个字段对结构体切片进行排序?
    如何在 Go 中按多个字段对结构体切片进行排序?
    按多个字段对切片对象进行排序按多个条件排序考虑以下 Parent 和 Child 结构:type Parent struct { id string children []Child } type Child struct { id string }假设我们有一个...
    编程 发布于2024-11-15
  • Qt 线程与 Python 线程:我应该在 PyQt 应用程序中使用哪个?
    Qt 线程与 Python 线程:我应该在 PyQt 应用程序中使用哪个?
    PyQt 应用程序中的线程:Qt 线程与 Python 线程寻求使用 PyQt 创建响应式 GUI 应用程序的开发人员经常遇到执行的挑战长时间运行的任务而不影响 UI 的功能。一种解决方案是使用单独的线程来完成这些任务。这就提出了是使用 Qt 线程还是原生 Python 线程模块的问题。Qt 线程提...
    编程 发布于2024-11-15
  • 为什么我的PHP提交按钮没有触发回显和表格显示?
    为什么我的PHP提交按钮没有触发回显和表格显示?
    PHP 提交按钮困境:不可用的回显和表格您的代码打算在单击“提交”按钮时显示回显和表格在 PHP 表单上。但是,您遇到了这些元素仍然隐藏的问题。这是因为您使用 if(isset($_POST['submit'])) 来控制这些元素的显示,但提交按钮缺少 name 属性。解决方案:提供...
    编程 发布于2024-11-15

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3