IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 基本数据类型(一) -> 正文阅读

[JavaScript知识库]基本数据类型(一)

JavaScript的数据类型分为两种:基本数据类型和引用数据类型

基本数据类型分为7类:

Undefined、Null、Number、String、Boolean,以及ES6之后加入的Symbol

一、Undefined和Null

1.1 Undefined

Undefined只有唯一的字面值undefined,表示一个变量不存在

常见的undefined场景:

  • 变量声明了,但是没有被赋值
  • 获取对象不存在的属性,或者属性没有赋值
  • 函数没有返回值的时,默认返回undefined
  • 函数使用多个形参,在调用时实参少于形参,未匹配的参数就是undefined

1.2 Null

Null也只有一个字面值null,表示一个空对象指针

一般出现在:

  • 获取DOM元素时,没有获取到指定的元素对象
  • 使用正则表达式,没有捕获到结果
  • 在声明变量为了以后保存某个值的时候,一般赋值为null

1.3 对比

相同点:都是基本数据类型,在l转换为Boolean的时候都是false

不同点:

  • 在JavaScript中,null是关键字,undefined是一个全局变量
  • 使用typeof检测时,Null类型返回object,Undefined类型返回undefined,原因大概是在JavaScript中,二进制前三位都是0的话会被判断为Object类型,而null的二进制表示全都是0
  • 在进行数值类型转换的时候,undefined会转换为NaN,null会转换为0
undefined + 0 // NaN
null + 0  // 0

二、Boolean类型

布尔类型的字面量有两个,分别是true和false,区分大小写,多用于if语句的判断

其他类型的值转换为Boolean类型时,只有0、NaN、null、undefined、空字符串,五个值会变为false,其余都是true

三、Symbol

Symbol是不允许被new的

new Symbol()  //  Uncaught TypeError: Symbol is not a constructor

Symbol是原始值,就算传入的参数相同,创建出来的两个值也是不同的

let a = Symbol(1)
let b = Symbol(1)
console.log(a == b) // false

想要创建相同的值可以使用Symbol.for()

let a = Symbol.for(1)
let b = Symbol.for(1)
console.log(a == b) // true

Symbol一般用来给对象设置唯一属性,减少属性处理上的冲突

很多JS的内置原理都是基于Symbol的属性来处理的,比如:

Symbol.toStringTag:在调用Object.prototype.toString()方法的时候使用的字符串,用于创建对象的描述
?

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-02 14:34:58  更:2021-10-02 14:36:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:24:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码