数据类型
值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。
引用数据类型:对象(Object)、数组(Array)、函数(Function)。
注:Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。
小知识
- 基本数据类型存储在栈内存中,引用数据类型存储在堆内存中。
- null是基本数据类型,typeof出的却是Object,且null存储在栈内存中。
定义变量
3种定义方法:
var: 可多次定义,使用var定义的全局变量属于window,变量提升(可以先使用后声明),没有块级作用域的概念。
let: 定义一次,定义的是变量,使用let定义的全局变量不属于window,必须先声明再使用,有块级作用域的概念(块级作用域就是{}),在块级作用域内声明的变量,只在作用域内有效。
const :定义一次,定义的是常量,有块级作用域概念,一般情况下定义之后不能修改,在定义的常量为引用类型时,可以通过修改对象或数组里的值/元素,改变常量,但不能直接对对象或数组重新赋值。