j*ascript变量有哪些类型_如何正确声明和使用它们?


J*aScript变量无类型,值才有类型;七种原始类型(string、number、bigint、boolean、null、undefined、symbol)不可变且按值传递,其余均为object类型(可变、按引用传递);声明优先用const和let,避免var。

javascript变量有哪些类型_如何正确声明和使用它们?

J*aScript 变量本身没有“类型”,真正有类型的是(value),而变量只是指向这些值的“容器”或“标签”。理解这一点,是正确声明和使用变量的关键。

七种基本数据类型(原始类型)

它们是不可变的、按值传递的:

  • string:文本,如 "hello"'world'`template ${x}`
  • number:所有数字(整数、小数、NaN、Infinity),如 423.14NaN
  • bigint:大整数,用 n 结尾,如 123n(不能与 number 混算)
  • boolean:逻辑值,只有 truefalse
  • null:一个独立类型,表示“有意为空”的值(注意:typeof null === "object" 是历史 bug)
  • undefined:变量声明了但未赋值时的默认值,也用于对象中缺失的属性
  • symbol:唯一且不可变的标识符,常用于对象属性键,避免命名冲突,如 Symbol("id")

一种引用类型(对象类型)

除上述七种外,其余都是 object 类型(包括函数、数组、日期、正则、Map、Set、Promise 等)。它们是可变的、按引用传递(实际是“按共享拷贝”语义):

  • { name: "Alice" } —— 普通对象
  • [1, 2, 3] —— 数组(本质也是对象)
  • function() {}() => {} —— 函数(函数是“可调用对象”)
  • new Date()/\d+/new Map() 等 —— 内置对象实例

判断是否为对象,推荐用 Object.prototype.toString.call(x),比 typeof 更可靠。

晓象AI资讯阅读神器 晓象AI资讯阅读神器

晓象-AI时代的资讯阅读神器

晓象AI资讯阅读神器 72 查看详情 晓象AI资讯阅读神器

如何正确声明变量?优先用 const 和 let

避免使用 var(存在变量提升、函数作用域、易引发意外重声明等问题):

  • const:声明后不能重新赋值(但对象/数组内容仍可修改);适用于大多数场景,比如配置项、DOM 元素、函数、模块导入
  • let:可重新赋值,块级作用域;适用于需要修改的局部变量,如循环计数器、临时计算结果
  • var:仅在需兼容极老环境或明确需要函数作用域+提升行为时才考虑(极少)

示例:

const PI = 3.14159;           // ✅ 常量
const user = { name: "Tom" }; // ✅ 对象可声明为 const(不改引用即可)
user.age = 25;                // ✅ 允许修改属性

let count = 0;                // ✅ 需要递增时用 let
count++;                       

// ❌ 不要这样:
var x = 1;                    // 过时
x = "hello";                  // 类型随意切换虽可行,但降低可维护性

使用变量时的关键注意事项

  • 声明即初始化:避免 let x; 后长期不用,容易误用 undefined
  • 避免隐式全局:未声明直接赋值(如 foo = 123)会创建全局变量,严格模式下报错
  • 区分 =====:前者会强制类型转换,后者严格比较类型和值;日常开发一律用 ===
  • 检查 null/undefined 用 x == null(等价于 x === null || x === undefined),或更明确的 x === undefined / x === null
  • 解构赋值很实用:如 const { name, age } = user;,但注意源为 nullundefined 会报错,可加默认值或先校验

基本上就这些。记住:变量无类型,值才有;声明选 const 优先;用好作用域和严格相等,代码会更健壮、易读、少出错。

以上就是j*ascript变量有哪些类型_如何正确声明和使用它们?的详细内容,更多请关注其它相关文章!


# 默认值  # 青海网站建设公司推荐  # 虎丘seo优化排名  # 威海定制网站建设公司  # 网站怎么优化电池充电  # 奶茶店的营销与推广策略  # 长宁seo价格  # dmt高端营销推广  # 江苏视频推广营销公司排名  # 网站建设维护定制  # 软笔字帖网站推广  # 的是  # javascript  # 有哪些  # 报错  # 全局变量  # 才有  # 适用于  # 七种  # 如何正确  # 如何实现  # 作用域  # java 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 如何在CSS中使用伪类选择器_hover实现悬停效果  花生壳内网映射新方案  QQ邮箱官方登录页_腾讯出品安全稳定的邮箱服务  发布小红书怎么屏蔽粉丝?屏蔽粉丝能看到吗?  漫蛙manwa2网页版书签同步链接_漫蛙manwa多设备登录入口  tiktok国际版入口_tiktok官网网页版链接  AI图层蒙版怎么用_AI图层蒙版应用技巧与设计实例  汽水音乐网页端访问 汽水音乐官方网页直达  Coolpad5890 ROM刷机包  oppo手机如何通过下拉通知栏截图_oppo手机通知栏快捷截图方法  sublime如何配置PHP开发环境_在sublime中运行与调试PHP代码  MySQL多重JOIN技巧:高效关联同一表获取多角色信息  12306售票时间最新规定 | 网上订票和车站窗口时间一样吗  12306夜间购票失败? | 查看官方公布的暂停服务公告与应对方案  如何在mysql中比较InnoDB和MyISAM区别  Win10通知横幅停留时间修改 Win10自定义通知显示时长【技巧】  Word如何将文字快速转成表格 Word文本转换成表格功能使用技巧【效率】  如何在 WordPress 前端实现内容提交:古腾堡编辑器的替代方案与实践  Excel如何设置动态下拉菜单_Excel表格下拉选项快速方法  mysql如何回滚事务_mysql ROLLBACK事务回滚方法  使用 J*aScript 随机化 CSS Grid 布局中的元素顺序  《理想汽车》权限管理设置方法  qq音乐官方网站入口_qq音乐在线听歌网页版链接  曝《丝之歌》DLC有望开发!开发商还有神秘新企划  淘口令快速解析技巧  12306不能订票的时间段是固定的吗? | 节假日购票时间有无变化  键盘声音异常怎么回事_键盘异响怎么处理  铁路12306官网入口 铁路12306中国铁路官网登录首页  mysql离线安装后如何启动_mysql离线安装完成后启动服务的方法  《合金装备4》有望推出重制版!制作人发话了  钉钉任务无法提醒如何处理 钉钉任务提醒优化方法  mysql如何配置从库只读_mysql从库只读设置方法  vivo手机视频通话美颜怎么设置_vivo视频通话美颜开启方法  苹果iPhone14ProMax如何新建AppleID_iPhone14ProMax新建AppleID具体流程  解决Pandas DataFrame高度碎片化警告:高效创建多列的策略  CSS绝对定位与溢出控制:实现背景元素局部显示不触发滚动条  如何使用 composer 和 aop-php 实现 AOP 编程?  AffinityDesigner图层蒙版怎么用_AffinityDesigner图层蒙版设计应用  江苏大剧院会员卡购买步骤  优化Google Charts Gauge:在数据库无数据时显示默认值  mysql归档数据怎么导出为csv_mysql归档数据导出为csv文件的方法  J*a中的值传递到底指什么_值传递模型在参数传递中的真正含义说明  AO3中文入口稳定分享_AO3官网HTTPS看文详解  sublime如何撤销关闭的标签页_sublime重新打开已关闭文件技巧  CSS如何控制元素外边距_margin实现布局间隔  微信朋友圈怎么设置三天可见 微信朋友圈设置指定天数可见步骤【教程】  《雷电模拟器》自动点击设置方法  繁花漫画使用教程  实现可重用自定义Python Range类  J*aScript包管理器_Npm与Yarn对比 

 2025-12-16

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.