当前位置: 首页 > article >正文

JavaScript 中,数据类型 有哪些?(复习/面试)

目录

面试简答

基本数据类型

1. Number

2. String

3. Boolean

4. undefined

5. null

6. Symbol

7. Bigint

复杂数据类型

1. Object

2. Array

3. Function


面试简答

  • 基本数据类型

    • 数值 Number, 字符串String,布尔值Boolean, undefined,null,Symbol,Bigint

  • 复杂数据类型

    • 对象Object, 数组Array, 函数Function, RegExp, Data

  • 存储区别

    • 基本数据类型存储在栈中

    • 复杂数据类型存储在堆中

基本数据类型

1. Number

  •  整数和浮点数

  • 常用方法

    • toFixed(x) 将数字转化为小数位的 字符串 x表示保留几位小数

let num = 3.14123;
console.log(num.toFixed(2)); // 3.14 这里的类型为字符串,并非数字类型

2. String

  •  字符串,也可理解为文本数据

  • 常用方法

  • length 返回字符串的长度

  • toUpperCase()和 toLowerCase()将字符串转化为大写或小写

  • indexOf()返回指定字符串第一次出现的位置

let str = "Hello, World!";
console.log(str.indexOf("World")); // 7
  • slice(start, end)字符串截取,返回提取的部分,不会更改原始字符串

细节:根据下标来截取
参数 start ,如果是负数 即,-1 指字符串中的最后一个字符,-2 指倒数第二个字符,以此类推
参数 end , 默认为字符串长度(可选)

let text = "Hello world!";
console.log(textg.slice(0, 1)) //仅第一个字符 t
console.log(textg.slice(-1)) //仅最后一个字符 g
console.log(textg.slice(0)) //整个字符串 textg 因为参数end 默认是字符串的长度

    3. Boolean

    • 只有两个值 true 和 false, 用于逻辑判断

    • 常用方法: 通常会使用布尔运算符(如 &&||!)进行逻辑操作。

     4. undefined

    • 变量已声明未赋值, 或函数没有返回值

    5. null

    • 表示一个对象空指针,日常在项目初始化可手动设置为null,表示该变量不指向任何对象

    6. Symbol

    • 含义:表示独一无二的值,主要用于创建对象的私有属性和方法。

    • 常用方法:通常不会直接对 symbol 调用方法,而是用于对象的属性名。

    const sym = Symbol('key'); 
    const obj = { 
    	[sym]: 'value' 
    }; 
    console.log(obj[sym]); // "value" 

    7. Bigint

    • 表示任意大的整数。 const bigIntNum = 12345678901234567890n

    • 常用方法

      • 支持基本的数学运算,如 +-*/ 等

    复杂数据类型

    1. Object

    • 对象, 无序的数据集合,由键值对组成

    • 常用方法

      • Object.keys( ) 返回对象的所有键组成的数组

      • Object.values( ) 返回对象的所有值组成的数组

      • Object.assign( ) 用于合并对象。

    const target = { a: 1 };
    const source = { b: 2 };
    const merged = Object.assign(target, source); //target目标对象 source源对象,源对象可以是多个,
    console.log(merged); // { a: 1, b: 2 }

    2. Array

    • 数组,有序的数据集合 数组索引从零开始:数组中的第一个元素是 0,第二个元素是 1

    • 常用方法

      • push() 和 pop():在数组末尾添加或删除元素

      • shift() 和 unshift():在数组开头添加或删除元素

      • splice():用于添加或删除数组中的元素

      • map():对数组中的每个元素执行指定的操作,并返回新的数组

    3. Function

    • 可执行的代码块

    • 常用方法

      • call() 和 apply():用于调用函数并指定 this 值

      • bind():创建一个新的函数,在调用时 this 值会被绑定到指定的对象。

    function greet(message) {
        console.log(`${message}, ${this.name}`);
    }
    const person = { name: "John" };
    greet.call(person, "Hello"); // "Hello, John"
    greet.apply(person, ["Hello"]); // "Hello, John"
    function greet(message) {
        console.log(`${message}, ${this.name}`);
    }
    const person = { name: "John" };
    greet.call(person, "Hello"); // "Hello, John"
    greet.apply(person, ["Hello"]); // "Hello, John"

    http://www.kler.cn/a/556845.html

    相关文章:

  • JVM系列--虚拟机类加载机制
  • TSMaster【第四篇:目击之术——总线测量窗口精解】
  • MATLAB拟合算法:如何使用 MATLAB 进行多组数据的高斯拟合分析
  • 【Kubernets】Kubernets资源类型Deployment详细介绍
  • 图数据库Neo4j面试内容整理-深度优先搜索(DFS)和广度优先搜索(BFS)
  • C语言03
  • 可编辑112页PPT | DeepSeek行业应用实践报告
  • 【TOT】Tree-of-Thought Prompting
  • day16_推荐系统和总结
  • ARM64 Trust Firmware [四]
  • 开启开源新时代:DeepSeek引领人工智能技术开放化
  • 科普:你的笔记本电脑中有三个IP:127.0.0.1、无线网 IP 和局域网 IP;两个域名:localhost和host.docker.internal
  • 电力通信物联网应用,国密网关守护电力数据安全
  • Java 表达式、语句和块
  • nginx配置:nginx.conf配置文件
  • spring中事务为什么会回滚?什么原理?
  • Vue 和 React 响应式的区别
  • 植物大战僵尸杂交版v3.2.1最新版本(附下载链接)
  • 1、Window Android 13模拟器 将编译的映像文件导入Android Studio
  • 《Zookeeper 分布式过程协同技术详解》读书笔记-2