JavaScript学习笔记—数据类型

数据类型,指那些可以赋值给变量的值,JS中的数据类型由原始值和对象共同组成

JavaScript中一共有七种原始值:

1. 数值(Number)

  • 在JS中所有的整数和浮点数都是数值类型
  • JS中的数值并不是无限大的,当数值超过一定范围后会显示近似值
  • 再超过范围会以科学计数法的形式显示
  • 再超过范围会显示为Infinity
  • 基于以上原因再加上浮点数计算的不精确问题,所以尽量不要直接使用数值做一些精度要求较高的运算
  • 使用typeof运算符检查一个数值时会返回"number"
let a = 10;
let b = 2.5;
let c = 9999999999999991; // 9999999999999992
let d = 999999999999999999999; // 1e+21
let e = 999 ** 999; // Infinity
let f = 1.9999999999999999; // 2
let g = 0.0000005; // 5e-7
let h = 1 * "a"; // NaN

除了常规的数字外,在数值中还存在两个特殊值NaN和Infinity。
NaN:错误的数值
Infinity:无穷
其他进制数字的表示方法:

let a = 0b1010; // 二进制
let b = 0o77; // 八进制
let c = 0xff; // 十六进制

2. 大整数(BigInt)

  • 大整数用来表示一些比较大的整数
  • 大整数使用n结尾,它可以表示的数字范围是无限大
  • 整数只能和大整数计算,和数值计算会报错
  • 使用typeof检查一个大整数时会返回"bigint"
let a = 9999999999999999999999n;
console.log(typeof a); // bigint

3. 字符串(String)

  • 在JS中使用单引号或双引号来表示字符串
  • 使用typeof运算符检查一个字符串时会返回"string"
let a = "今天天气真不错";
let b = '昨天天气也挺好';
console.log(typeof a); // string
console.log(typeof b); // string
  • 转义字符 \
    JavaScript中使用 \ 作为转义字符,转义字符用以表示一些特殊的符号
转义字符 字符串
\' '
\" "
\n 换行
\t 制表符tab
\uxxxx Unicode编码
  • 模板字符串
    (1)使用反单引号 ` 来表示模板字符串
    (2)用来表示一些比较长的字符串(跨行)
    (3)可以嵌入变量,使用${变量}来嵌入变量
let a = 'Hello';
a = "你好";
a = "这是一个\"字符串";
// 使用反单引号,字符串可以跨行。跨行,空格都原样显示
a = `今天天
气真
错!`;
console.log(a);
let name = "孙悟空";
// 模板字符串嵌入变量
let str = `你好,${name}`;
console.log(str); // 你好,孙悟空

4. 布尔值(Boolean)

  • 主要用来进行逻辑判断
  • 只有两个值,true 和 false
  • 使用typeof检查一个布尔值时会返回 boolean
let bool = true;
bool = false;
console.log(typeof bool); // boolean

5. 空值(Null)

  • 用来表示空、不存在
  • 只有一个 null
  • 使用typeof检查时会返回"object"
let a = null;
console.log(typeof a); // object

6. 未定义(Undefined)

  • 作用和空值类似,同样只有一个值undefined
  • 一般不会主动使用undefined
  • 使用typeof检查时会返回"undefined"
let a; // 此时a的值就是undefined

7. 符号(Symbol)

  • 表示一个唯一标识
  • 在一些特殊场景下会使用
  • 使用typeof检查一个符号时会返回"symbol"
let a = Symbol();

原始值在JS中是不可变类型,一旦创建就不能修改

总结

JavaScript 中有八种基本的数据类型(译注:前七种为基本数据类型,也称为原始数据类型,而 object 为复杂数据类型)。

七种原始数据类型:

  • number 用于任何类型的数字:整数或浮点数,在 ±(253-1) 范围内的整数。
  • bigint 用于任意长度的整数。
  • string 用于字符串:一个字符串可以包含 0 个或多个字符,所以没有单独的单字符类型。
  • boolean 用于 true 和 false。
  • null 用于未知的值 —— 只有一个 null 值的独立类型。
  • undefined 用于未定义的值 —— 只有一个 undefined 值的独立类型。
  • symbol 用于唯一的标识符。

以及一种非原始数据类型:

  • object 用于更复杂的数据结构。

我们可以通过 typeof 运算符查看存储在变量中的数据类型。

  • 通常用作 typeof x,但 typeof(x) 也可行。
  • 以字符串的形式返回类型名称,例如 "string"。
  • typeof null 会返回 "object" —— 这是 JavaScript 编程语言的一个错误,实际上它并不是一个 object。
posted @   程序员张3  阅读(144)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示