基本类型
-
Number: JavaScript的数字类型包括整数、浮点数和NaN(非数字)。
-
String: 字符串可以用双引号、单引号或反引号表示。如果字符串中包含数字,可以进行强制类型转换。
-
Boolean: 布尔类型只有两个值:true和false。
-
Null: Null类型表示一个空对象。
-
Undefined: Undefined类型是由null派生而来的,表示未定义。
-
Symbol: Symbol类型是对象属性的唯一标识符,类似于ID。例如,
let genericSymbol = Symbol()
。
对象类型/引用类型
-
Object: 对象的属性名可以是字符串或数值。
-
Array: 数组的每个槽位可以存储任意类型的数据。
-
Function: 函数是对象,也有对应的属性和方法。函数可以通过函数声明、函数表达式或箭头函数来创建。
-
Date、Set、Map: 这些都是JavaScript的内置对象类型。
存储
基本数据类型存储在栈中,而引用类型的对象存储在堆中。直接赋值时为浅拷贝。
数组方法
包括push、unshift、splice、concat、pop、shift、slice、indexOf、includes、find、reverse、sort、join、every、forEach、filter、map等。
字符串方法
包括concat、substr、substring、trim、repeat、toLowerCase、toUpperCase、chatAt、split、match、search、replace等。
类型转化
显式转化包括Number()、parseInt()、String()、Boolean()等。隐式转化中,"+"运算符会进行字符串拼接操作,其他情况都会把运算子自动转成数值。
比较运算符
"==“会先进行类型转化再判断,”===“会先判断类型再判断值。这是JavaScript中的两种比较运算符。其中,”===“被称为严格等于,不仅比较值,还比较类型。而”==“被称为宽松等于,只比较值,不比较类型,如果类型不同,会尝试进行类型转换。