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

网站建设 海口全球搜钻是什么公司

网站建设 海口,全球搜钻是什么公司,网页脚本设计,濮阳网约车JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…

JavaScript 数据类型详解

JavaScript 数据类型分为 原始类型(Primitive)对象类型(Object) 两大类,共 8 种(ES11+):


一、原始类型(7种)

1. undefined
  • 定义:未赋值的变量默认值
  • 特点
    • 变量声明未初始化时值为 undefined
    • 函数无返回值时返回 undefined
  • 检测
    let a;
    console.log(a); // undefined
    console.log(typeof a); // "undefined"
    
2. null
  • 定义:表示 空值对象不存在
  • 关键点
    • typeof null === "object"(历史遗留问题)
    • undefined 区别:null 需显式赋值
    let b = null;
    console.log(b === null); // true
    
3. boolean
  • 值域true / false
  • 隐式转换规则
    值类型转 boolean 结果
    0, NaNfalse
    非零数字true
    ""false
    非空字符串true
    null/undefinedfalse
    对象/数组true
4. number
  • 定义:双精度 64 位浮点数(IEEE 754)
  • 特殊值
    • NaN(Not a Number):无效数学操作结果
    • Infinity / -Infinity:超出数值范围
    • Number.MAX_SAFE_INTEGER(2⁵³ - 1)
  • 示例
    console.log(0.1 + 0.2); // 0.30000000000000004(精度问题)
    console.log(1 / 0);     // Infinity
    console.log(Math.sqrt(-1)); // NaN
    
5. bigint(ES2020)
  • 定义:表示任意精度的整数
  • 语法:数字末尾加 n
  • 用途:处理超过 Number.MAX_SAFE_INTEGER 的值
    const bigNum = 9007199254740991n;
    console.log(bigNum + 1n); // 9007199254740992n
    
6. string
  • 定义:UTF-16 编码的文本序列
  • 特性
    • 不可变(修改会创建新字符串)
    • 模板字符串支持插值:`Hello ${name}`
  • 转义字符\n, \t, \u{1F600}(表情符号)
7. symbol(ES6)
  • 定义:唯一且不可变的标识符
  • 用途
    • 创建对象唯一属性键
    • 避免命名冲突
    const id = Symbol("unique_id");
    const obj = { [id]: 123 };
    console.log(obj[id]); // 123
    

二、对象类型(1种,包含子类)

1. Object
  • 定义:键值对集合(属性 + 方法)
  • 子类
    类型用途示例
    Array有序数据集合[1, 2, 3]
    Function可执行对象function foo() {}
    Date日期时间处理new Date()
    RegExp正则表达式/\d+/g
    Map/Set键值对/唯一值集合new Map([['key', 1]])
    Promise异步操作管理new Promise(...)
    Error错误信息封装new Error("msg")
对象特性:
  1. 引用传递

    const obj1 = { x: 1 };
    const obj2 = obj1;
    obj2.x = 2;
    console.log(obj1.x); // 2(共享内存)
    
  2. 原型继承

    const arr = [];
    console.log(arr.__proto__ === Array.prototype); // true
    

三、类型检测方法对比

方法适用场景局限性
typeof原始类型检测typeof null => "object"
instanceof检测对象实例的构造函数不适用于原始类型
Array.isArray()专检数组仅限数组
Object.prototype.toString.call()最准确类型判断需配合调用

精准类型检测函数

function getType(value) {return Object.prototype.toString.call(value).slice(8, -1).toLowerCase();
}console.log(getType(null));      // "null"
console.log(getType(/regex/));   // "regexp"
console.log(getType(new Map())); // "map"

四、类型转换机制

1. 显式转换
Number("123");    // 123
String(true);     // "true"
Boolean([]);      // true
2. 隐式转换(易错点)
1 + "2"       // "12"(数字转字符串)
"5" - true    // 4(布尔转数字)
[] == 0       // true([]转""再转0)
null >= 0     // true(null转0)

关键总结

  1. 原始类型:直接存储值,不可变(7种)
  2. 对象类型:存储内存引用,可变(含多种子类)
  3. 类型检测:优先用 Object.prototype.toString.call()
  4. 转换原则
    • 数学运算:尝试转数字
    • + 运算:遇字符串则拼接
    • == 比较:触发隐式转换(建议用 ===

💡 特殊记忆

  • NaN 是唯一不等于自身的值:NaN !== NaN
  • typeof function() {} 返回 "function"(历史遗留)
http://www.dtcms.com/wzjs/156603.html

相关文章:

  • 网站实施方案app地推接单平台
  • 啤酒招商网站大全销售网络平台
  • 用rp怎么做网站导航菜单品牌推广宣传词
  • 界面设计心得广州seo培训
  • ur高端网站建设关键词指数查询工具
  • 大连旅游攻略重庆seo公司怎么样
  • 临沂做网站建设的公司可以放友情链接的网站
  • 网站建设找酷风网站免费推广方式
  • 绍兴网站建设电话腾讯中国联通
  • 国家城乡和住房建设部网站首页哪里有专业的培训机构
  • 哪里找需要网站建设的宁波seo优化排名
  • 陕西西安网站建设公司排名店铺推广软文500字
  • 网站建设策划书范文案例北京官网seo
  • 网站建设在线推广网络营销的主要工作有哪些
  • 网站如何做竞价2022年新闻摘抄简短
  • 网站资源做外链百度seo优化工具
  • 系统那个网站好搜索引擎营销的原理是什么
  • 兰州网站建设公种子搜索神器下载
  • 产品通过网站做营销软文代写服务
  • 珠宝网站形象设计国内设计公司前十名
  • python爬虫做网站卢松松外链工具
  • 广西建设厅关公网站株洲seo
  • wordpress手机版受钱吗新网站seo外包
  • 苏州网站建设科技太原关键词优化公司
  • 家居网站建设的背景及意义windows优化大师怎么彻底删除
  • 网站关于我们怎么做单页面百度推广关键词多少合适
  • 设计平台什么意思seo技术培训岳阳
  • 动态网站建设上机考试内容百度竞价排名多少钱
  • 网站建设体会介绍网络营销
  • 企业网站自己怎么做html+css网页制作成品