JavaScript 中基本数据类型与引用数据类型

基本数据类型(原始值类型/值类型)

   Number: NaN\Infinity\正常数字
   String: 正常字符串\模版字符串
   Boolean: true\false
   Null: 空 typeof null ==> "object"
   Undefined: 未定义
   Symbol: 唯一值
   BigInt: 大数字
let str = "a";
    // "a" === "a" ; true
    // Symbol("a") === Symbol("a");// false
    let obj = {
        a: 1,
        a: 2
    };
    let obj1 = {
        [Symbol("a")]: 1,
        [Symbol("a")]: 2
    }
    // obj.a = 2*/


    //bigInt
    //后端数据库在定义数字的时候会定义数字的长度
    //JS中是有最大安全数字的(js中的数字是有最大长度限制的)
    console.log(Number.MAX_SAFE_INTEGER);//js中的最大安全数字
    console.log(Number.MIN_SAFE_INTEGER);
    //bigInt数据类型
    // let bigNum = 9007199254740991n;
    // bigNum + 1
    // VM616:1 Uncaught TypeError: Cannot mix BigInt and other types, use explicit conversions
    // bigNum + 1n

引用数据类型(对象数据类型)

   在js中Object是一个基类
   Object:
       {}: 空对象
       []: Array
       /^$/: RegExp
       new Date: 日期
       Function
       ....

js中常见的数据类型判断

  • typeof 只能判断基本数据类型(null==>object); 判断引用数据类型 都返回object
  • instanceof 只有知道数据类型才可以判断   语法: 要判断数据类型的变量 instanceof Array
  • constructor 语法: 要判断数据类型的变量.constructor === Array
  • Object.prototype.toString.call() 原生js最全能的数据类型判断 "[object 数据类型]"
  • -----
  • Array.isArray() //数组API
  • Number.isNaN() //是不是 不是一个数  NaN ===> not a number

        思考题

var a = 1
var b = a
a.x = a = {
    n:2
}

console.log(a) // ?
console.log(b) // ?







不懂的话看看这张图吧

 a === b.x 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值