• 【Java 进阶篇】JavaScript 数据类型详解


    在这里插入图片描述

    JavaScript是一种弱类型脚本语言,具有动态类型。这意味着JavaScript中的变量可以容纳不同类型的数据,并且它们的类型可以在运行时更改。在本文中,我们将深入探讨JavaScript中的数据类型,包括原始数据类型和引用数据类型,以及如何使用它们创建变量和操作数据。

    原始数据类型

    JavaScript有6种原始数据类型,也被称为基本数据类型,它们包括:

    1. 字符串(String):用于表示文本数据,可以使用单引号或双引号括起来。

      var name = "Alice";
      var message = 'Hello, World!';
      
      • 1
      • 2
    2. 数字(Number):用于表示数值,包括整数和浮点数。

      var age = 30;
      var price = 19.99;
      
      • 1
      • 2
    3. 布尔(Boolean):用于表示逻辑值,只有两个可能的值:truefalse

      var isStudent = true;
      var hasLicense = false;
      
      • 1
      • 2
    4. 空(Null):表示一个空值或无值。

      var emptyValue = null;
      
      • 1
    5. 未定义(Undefined):表示一个未初始化的变量。

      var undefinedValue;
      
      • 1
    6. 符号(Symbol):引入于ECMAScript 6(ES6),用于创建唯一的标识符。

      var uniqueSymbol = Symbol('description');
      
      • 1

    检测数据类型

    要检测JavaScript变量的数据类型,可以使用typeof操作符:

    typeof name; // 返回 "string"
    typeof age; // 返回 "number"
    typeof isStudent; // 返回 "boolean"
    typeof emptyValue; // 返回 "object"
    typeof undefinedValue; // 返回 "undefined"
    typeof uniqueSymbol; // 返回 "symbol"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    需要注意的是,typeof对于null返回的是"object",这被认为是JavaScript的一个历史遗留问题。

    引用数据类型

    除了原始数据类型,JavaScript还有一种引用数据类型,它被称为对象(Object)。对象是一种复合数据类型,它可以包含多个属性和方法。对象是JavaScript中最重要的数据类型之一。

    创建对象

    可以使用对象字面量或构造函数来创建JavaScript对象。

    对象字面量
    var person = {
      firstName: "John",
      lastName: "Doe",
      age: 30
    };
    
    • 1
    • 2
    • 3
    • 4
    • 5
    构造函数
    function Person(firstName, lastName, age) {
      this.firstName = firstName;
      this.lastName = lastName;
      this.age = age;
    }
    
    var person = new Person("John", "Doe", 30);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    访问对象属性

    可以使用点符号(.)或方括号([])来访问对象的属性。

    console.log(person.firstName); // 使用点符号访问属性
    console.log(person['lastName']); // 使用方括号访问属性
    
    • 1
    • 2

    修改对象属性

    person.age = 31; // 修改属性值
    person['age'] = 32; // 也可以使用方括号来修改属性值
    
    • 1
    • 2

    删除对象属性

    delete person.age; // 删除属性
    
    • 1

    对象方法

    对象可以包含方法,这些方法是与对象相关的函数。方法可以通过对象来调用。

    var person = {
      firstName: "John",
      lastName: "Doe",
      fullName: function() {
        return this.firstName + " " + this.lastName;
      }
    };
    
    console.log(person.fullName()); // 调用对象方法
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    特殊对象

    JavaScript中有一些特殊的对象,包括:

    1. 数组(Array):用于存储一组值的有序列表。

      var colors = ['red', 'green', 'blue'];
      
      • 1
    2. 日期(Date):用于处理日期和时间。

      var today = new Date();
      
      • 1
    3. 正则表达式(RegExp):用于处理字符串的模式匹配。

      var pattern = /abc/;
      
      • 1
    4. 函数(Function):JavaScript中的函数也是对象,可以赋值给变量,作为参数传递,或者作为返回值。

      function greet(name) {
        return "Hello, " + name + "!";
      }
      
      • 1
      • 2
      • 3
    5. 全局对象(Global Object):在浏览器中,全局对象是window;在Node.js环境中,全局对象是global。全局对象包含了很多全局属性和函数。

      window.alert("Hello, World!"); // 在浏览器中
      global.console.log("Hello, World!"); // 在Node.js中
      
      • 1
      • 2
    6. Math对象:包含了各种数学操作和常数。

      var circumference = 2 * Math.PI * radius;
      
      • 1
    7. JSON对象:用于解析和序列化JSON数据。

      var jsonStr = '{"name": "John", "age": 30}';
      var jsonObj = JSON.parse(jsonStr);
      
      • 1
      • 2

    类型转换

    JavaScript中有两种类型转换:隐式类型转换和显式类型转换。

    隐式类型转换

    隐式类型转换是由JavaScript自动执行的类型转换。它通常发生在表达式的计算中,例如:

    var result = "5" * 2; // 10
    
    • 1

    在这个示例中,JavaScript将字符串转换为数字,并执行乘法运算。

    显式类型转换

    显式类型转换是由开发人员明确执行的类型转换。JavaScript提供了一些内置函数来执行显式类型转换,例如:

    • Number():将值转换为数字。
    • String():将值转换为字符串。
    • Boolean():将值转换为布尔值。
    var num = Number("42"); // 显式转换为数字
    var str = String(123); // 显式转换为字符串
    var bool = Boolean(0); // 显式转换为布尔值
    
    • 1
    • 2
    • 3

    NaN和Infinity

    JavaScript中有一些特殊的数值表示:

    • NaN(Not-a-Number):表示一个无效的数值。当执行不合法的数学操作时,结果通常为NaN

      var result = 0 / 0; // NaN
      
      • 1
    • Infinity:表示正无穷大,-Infinity表示负无穷大。它们通常用于表示数值溢出。

      var maxNum = Infinity;
      var minNum = -Infinity;
      
      • 1
      • 2

    总结

    JavaScript是一种多样化的语言,具有多种数据类型,包括原始数据类型和引用数据类型。理解这些数据类型是编写JavaScript应用程序的关键。本文提供了关于JavaScript数据类型的详细信息,以帮助你更好地使用和操作数据。无论你是初学者还是有经验的开发人员,深入了解JavaScript的数据类型都是非常重要的。希望这篇文章能帮助你更好地掌握JavaScript的数据类型和类型转换。

    作者信息

    作者 : 繁依Fanyi
    CSDN: https://techfanyi.blog.csdn.net
    掘金:https://juejin.cn/user/4154386571867191
  • 相关阅读:
    Kubernetes 安装过程问题汇总
    Linux命令(94)之history
    城市综合管廊运维的系统集成方案
    DevOps:自动化部署和持续集成/持续交付(CI/CD)
    黑豹程序员-CSS四种样式的定义方式及冲突后的就近原则
    分布式环境下Spring Session Redis底层原理
    springboot整合消息队列——RabbitMQ
    OpenCV Python – 使用SIFT算法实现两张图片的特征匹配
    WordPress Modown 6.2付费下载资源/付费查看内容 wp主题模板+erphpdown11.7
    同创永益与国泰君安证券签署全面战略合作协议
  • 原文地址:https://blog.csdn.net/qq_21484461/article/details/133779166