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

重庆网站建设子沃科技武汉seo服务外包

重庆网站建设子沃科技,武汉seo服务外包,湖南省网站建设,某物流网站后台源码目录 一、数据类型分类 二、核心区别对比 1. 存储方式 2. 比较方式 3. 类型检测方法 三、特殊类型详解 1. Symbol 2. BigInt 3. null vs undefined 四、常见面试扩展问题 五、总结 一、数据类型分类 JavaScript 数据类型分为 基本数据类型(原始类型&…

目录

一、数据类型分类

二、核心区别对比

1. 存储方式

2. 比较方式

3. 类型检测方法

三、特殊类型详解

1. Symbol

2. BigInt

3. null vs undefined

四、常见面试扩展问题

五、总结


一、数据类型分类

JavaScript 数据类型分为 基本数据类型(原始类型) 和 引用数据类型(对象类型),共 8 种(截至 ES2023):

类型示例特点说明
Undefinedlet a;变量声明未赋值时的默认值
Nulllet b = null;表示空值(故意赋值的空)
Booleantrue / false逻辑值
Number42 / 3.14 / NaN整数、浮点数及特殊数值
String'hello' / "world"文本数据(UTF-16 编码)
SymbolSymbol('id')唯一且不可变的标识符(ES6+)
BigInt123n大整数(ES2020+)
Object{} / [] / ()=>{}复杂数据结构(包括数组、函数等)

二、核心区别对比
1. 存储方式
类型存储位置内存示意图
基本类型栈内存变量 → 值(直接存储)
引用类型堆内存(栈存指针)变量 → 地址指针 → 堆中的对象

示例

// 基本类型
let a = 10;
let b = a; // 值拷贝
b = 20;
console.log(a); // 10(互不影响)// 引用类型
let obj1 = { name: 'John' };
let obj2 = obj1; // 指针拷贝
obj2.name = 'Alice';
console.log(obj1.name); // 'Alice'(指向同一对象)

2. 比较方式
类型比较行为示例
基本类型值相等即可5 === 5 → true
引用类型比较内存地址(是否同一对象){} === {} → false

特殊案例

NaN === NaN;          // false(唯一不等于自身的值)
Object.is(NaN, NaN);  // true(ES6 的严格相等判断)
null == undefined;    // true(抽象相等比较)
null === undefined;   // false(类型不同)

3. 类型检测方法
方法基本类型引用类型
typeof返回类型名(除 null返回 "object" 或 "function"
instanceof无效(始终 false检测构造函数原型链
Object.prototype.toString.call()精准判断所有类型

经典问题

typeof null;          // "object"(历史遗留问题)
typeof [1,2];         // "object"
typeof function(){};  // "function"[] instanceof Array;  // true
({}) instanceof Object; // true

三、特殊类型详解
1. Symbol
  • 唯一性:相同参数的 Symbol 值不相等

    Symbol('key') === Symbol('key'); // false

  • 使用场景:对象唯一属性键、定义私有成员、替代魔法字符串

    const ID = Symbol('id');
    const user = { [ID]: 123 };

2. BigInt
  • 表示方法:数字后加 n 或使用 BigInt() 构造函数

    const bigNum = 9007199254740993n;

  • 特性:不可与普通 Number 混合运算(需显式转换)

3. null vs undefined
对比点nullundefined
含义主动赋值的空值变量未初始化的默认值
使用场景释放对象引用函数参数未传入时的默认值
类型转换Number(null) → 0Number(undefined) → NaN

四、常见面试扩展问题
  1. 深拷贝 vs 浅拷贝

    • 基本类型拷贝值,引用类型拷贝指针

    • 深拷贝实现:JSON.parse(JSON.stringify(obj))(局限:无法处理函数、循环引用)、递归克隆

  2. 包装对象(Boxing)
    基本类型调用方法时自动装箱:

    
    let str = 'hello';
    str.toUpperCase(); // 临时创建 String 对象

  3. 内存管理

    • 基本类型随执行上下文销毁

    • 引用类型依赖垃圾回收机制(标记清除、引用计数)


五、总结

理解 JavaScript 数据类型的关键在于:

  • 两大家族:基本类型(7种) vs 引用类型(Object)

  • 三大差异:存储方式、赋值行为、比较逻辑

  • 特殊成员Symbol 的唯一性、BigInt 的大数处理、null 与 undefined 的语义区别

掌握这些核心概念,能够帮助开发者避免常见陷阱(如意外修改引用类型数据),并写出更健壮的代码。

http://www.dtcms.com/wzjs/191266.html

相关文章:

  • 网站设计建设广州市新闻最新消息
  • Wordpress显示toolbar二十条优化措施全文
  • 网站建设与网站优化销售郑州网络营销学校
  • 主机屋网站搭建设置北京seo优化多少钱
  • 企业网站建设第一步google play官网入口
  • 运城建设厅官方网站站内关键词自然排名优化
  • 石家庄企业网站建设价格关键词优化收费标准
  • iis部署网站 http 500 - 内部服务器错误行业门户网站推广
  • 美女做爰免费观看视频网站怎么做起泡胶
  • 电商网站开发平台pi netwo少儿培训
  • 山东济南网站建设公司女排联赛排名
  • 网站建设与推广长春软文素材库
  • 小说网站制作开源搭建网站的步骤和顺序
  • 做一个小程序seo的基本内容
  • 网站被黑了你会怎么想你该怎么做广州线下培训机构停课
  • 迪哥哪个网站上做游戏直播股票指数是什么意思
  • 在线设计网站排名免费的编程自学网站
  • 网页制作平台推荐seo关键词优化
  • 天水网站开发网站统计器
  • 淮阴区建设局网站新闻早知道
  • 青州做网站的公司网络营销策划书的结构是什么
  • 成都企业网站开发公司慧聪网seo页面优化
  • 网站设计专业公司价格百度登录入口百度
  • 中国建设交易信息网站营销案例
  • 重庆市建设工程节能中心网站电脑系统优化软件哪个好用
  • 做美食视频的网站有哪些seo综合查询接口
  • 网站备案号 信息百度一下百度搜索百度
  • dwcc2017怎么做网站包头网站建设推广
  • 成功的网络营销案例有哪些app优化推广
  • 东莞网站建设兼职合肥网站