沉梦手记 沉梦手记
首页
  • 基础篇
  • 集合篇
  • 并发篇
  • JVM
  • 新特性
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 数据库基础
  • MySql
  • Redis
  • 达梦数据库
  • Spring
  • SpringBoot
  • Mybatis
  • Shiro
  • 设计须知
  • UML画图
  • 权限校验
  • 设计模式
  • API网关
  • 网络通信
  • 消息队列
  • SpringCloud
  • 分布式事务
  • 云存储
  • 搜索引擎
  • 前端基础
  • Vue
  • React
  • 开发工具篇
  • 工具库篇
  • 开发技巧篇
  • 工具类系列
  • 运维与部署
  • 音视频处理
  • 随笔
  • 博客搭建
  • 网站收藏箱
  • 断墨寻径摘录
  • 费曼学习法
Github (opens new window)

沉梦听雨

时间是最好的浸渍剂,而沉淀是最好的提纯器🚀
首页
  • 基础篇
  • 集合篇
  • 并发篇
  • JVM
  • 新特性
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 数据库基础
  • MySql
  • Redis
  • 达梦数据库
  • Spring
  • SpringBoot
  • Mybatis
  • Shiro
  • 设计须知
  • UML画图
  • 权限校验
  • 设计模式
  • API网关
  • 网络通信
  • 消息队列
  • SpringCloud
  • 分布式事务
  • 云存储
  • 搜索引擎
  • 前端基础
  • Vue
  • React
  • 开发工具篇
  • 工具库篇
  • 开发技巧篇
  • 工具类系列
  • 运维与部署
  • 音视频处理
  • 随笔
  • 博客搭建
  • 网站收藏箱
  • 断墨寻径摘录
  • 费曼学习法
Github (opens new window)
  • 前端基础

    • 前端环境搭建
    • HTML与CSS
    • JavaScript知识点整理

      • 什么是ES6?
      • 声明变量(作用域)
      • 基本类型
        • 对象类型
        • 类型
        • 运算符与表达式
        • 流程控制
        • API
      • Axios入门
    • Vue

    • React

    • 前端学习
    • 前端基础
    • JavaScript知识点整理
    沉梦听雨
    2023-07-06
    目录

    基本类型

    # 基本类型

    # 1,2) undefined 和 null

    1. 执行表达式或函数,没有返回结果,出现 undefined
    2. 访问数组不存在的元素,访问对象不存在的属性,出现 undefined
    3. 定义变量,没有初始化,出现 undefined

    例如:

    console.log(1);  	// 函数没有返回值, 结果是  undefined
    
    let a = 10;		 	// 表达式没有返回值, 结果是 undefined
    
    let b = [1,2,3];
    console.log(b[10]); // 数组未定义元素,结果是 undefined
    
    let c = {"name":"张三"};
    console.log(c.age); // 对象未定义属性,结果是 undefined
    
    let d;
    console.log(d);		// 变量未初始化,结果是 undefined
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    二者共同点:

    • 都没有属性、方法
    • 二者合称 Nullish

    二者区别:

    • undefined 由 js 产生
    • null 由程序员提供

    # 3) string ⭐️

    js 字符串有以下三种写法:

    let a = "hello";  // 双引号
    let b = "world";  // 单引号
    let c = `hello`;  // 反引号
    
    1
    2
    3

    字符串如何表示?

    html 代码如下

    <a href="1.html">超链接</a>
    
    1

    java 显得比较繁琐

    String s1 = "<a href=\"1.html\">超链接</a>";
    
    String s2 = """
        <a href="1.html">超链接</a>""";
    
    1
    2
    3
    4

    js 就比较灵活

    let s1 = '<a href="1.html">超链接</a>';
    
    let s2 = `<a href="1.html">超链接</a>`;
    
    1
    2
    3

    模板字符串(Template strings)

    需求:拼接 URL 的请求参数,如

    /test?name=zhang&age=18
    /test?name=li&age=20
    
    1
    2

    传统方法拼接,用 + 号拼接:

    let name = ; // zhang li ...
    let age = ; // 18 20 ...
    
    let url = "/test?name=" + name + "&age=" + age;
    
    1
    2
    3
    4

    模板字符串方式,用 ${参数}:

    let name = ; // zhang li ...
    let age = ; // 18 20 ...
    
    let url = `/test?name=${name}&age=${age}`;
    
    1
    2
    3
    4

    # 4,5) number 和 bigint⭐️

    number

    number 类型标识的是双精度浮动小数,例如

    10 / 3;   // 结果 3.3333333333333335
    
    1

    既然是浮点小数,那么可以除零

    10 / 0;	  // 结果 Infinity 正无穷大
    -10 / 0;  // 结果 -Infinity 负无穷大
    
    1
    2

    浮点小数都有运算精度问题,例如

    2.0 - 1.1; // 结果 0.8999999999999999
    
    1

    字符串转数字

    parseInt("10"); 	// 结果是数字 10 
    parseInt("10.5");	// 结果是数字 10, 去除了小数部分
    
    parseInt("10") / 3; // 结果仍视为 number 浮点数, 因此结果为 3.3333333333333335
    
    parseInt("abc");	// 转换失败,结果是特殊值 NaN (Not a Number)
    
    1
    2
    3
    4
    5
    6

    bigint

    要表示真正的整数,需要用 bigint。

    注意:数字的结尾用 n 表示它是一个 bigint 类型。

    10n / 3n;			// 结果 3n, 按整数除法处理
    
    1

    # 6) boolean ⭐️

    • Truthy
    • Falsy

    在 js 中,并不是 boolean 才能用于条件判断,你可以在 if 语句中使用【数字】、【字符串】... 作为判断条件

    let b = 1;
    
    if(b) { // true
        console.log("进入了");
    }
    
    1
    2
    3
    4
    5

    这时就有一个规则,当需要条件判断时,这个值被当作 true 还是 false。

    • 当作 true 的值归类为 truthy,
    • 当作 false 的值归类为 falsy

    下面值都是 falsy

    • false
    • Nullish (null, undefined)
    • 0, 0n, NaN
    • "" '' `` 即长度为零的字符串

    剩余的值绝大部分都是 truthy

    有几个容易被当作 falsy 实际是 truthy 的

    • "false", "0" (注意双引号)即字符串的 false 和 字符串的零
    • [] 空数组
    • {} 空对象

    # 7) symbol

    用于表示唯一的标识符。

    const mySymbol = Symbol('description');
    
    1
    • 很少使用
    上次更新: 2026/11/5 11:56:09
    声明变量(作用域)
    对象类型

    ← 声明变量(作用域) 对象类型→

    Theme by Vdoing | Copyright © 2023-2026 沉梦听雨 | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式