JavaScript变量无类型,类型属于值;基本数据类型共7种,不可变且按值传递,如string表示文本。

JavaScript 的变量本身没有类型,类型是绑定在值上的;变量只是指向某个值的“名字”。真正重要的是数据类型——它决定了你能对这个值做什么操作。
基本数据类型(Primitive Types)
共 7 种,都是不可变的、按值传递:
- string:文本,如 "hello"、'world'、42、3.14、NaN
- boolean:只有两个值:true 和 false
- null:一个独立的原始值,表示“空值”或“有意缺失的对象引用”
- undefined:变量声明了但未赋值时的默认值,也用于对象中不存在的属性
- symbol:ES6 新增,用于创建唯一标识符,常用于对象属性名避免冲突
- bigint:ES2020 新增,表示任意精度的整数,用 123n 语法创建
引用数据类型(Object Types)
所有非原始类型的值都属于这一类,本质是对象(包括函数、数组等),按引用传递:
- object:普通对象,如 { name: "Alice", age: 30 }
- array:有序集合,如 [1, 2, 3] —— 实际上是特殊对象,有 length 和方法
- function:函数也是对象,可赋值、传参、返回,如 function foo() {}
- date:日期对象,如 new Date()
- regexp:正则表达式对象,如 /abc/g
- map 和 set:ES6 新增的集合类型,支持键值对或唯一值存储
- weakmap 和 weakset:弱引用版本,不影响垃圾回收
- promise:异步操作的占位符对象
- proxy、reflect、iterator 等高级内置对象
变量声明方式与行为差异
JS 提供三种声明变量的关键字,影响作用域和提升行为:
标签: javascript java
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~