菜鸟-创作你的创作

针对初学者的JavaScript八种类型实用小技巧总结

下面给你整理一份 针对初学者的 JavaScript 八种类型实用小技巧总结,从基础数据类型到引用类型,附带易懂示例和实用技巧,让你对 JS 类型理解更透彻。


1️⃣ 八种基本类型概览

在 JavaScript 中,八种类型可以分为两类:

  1. 基本类型(Primitive Type)NumberStringBooleanSymbolBigIntundefinednull
  2. 引用类型(Reference Type)Object(数组、函数、对象等都属于 Object)

2️⃣ Number(数字类型)

const num = 42;
const floatNum = 3.14;

小技巧:

Number.isNaN(0/0) // true

Number.MAX_SAFE_INTEGER // 2^53 -1

(12345.678).toFixed(2) // "12345.68"


3️⃣ String(字符串类型)

const str = "Hello World";

小技巧:

const name = "Alice";
const msg = `Hello, ${name}!`; // Hello, Alice!

str.slice(0,5) // "Hello"

Number("123") // 123
parseInt("123.45") // 123


4️⃣ Boolean(布尔类型)

const isTrue = true;

小技巧:

!!0       // false
!!"abc"   // true

true && false // false
true || false // true


5️⃣ Symbol(符号类型)

const sym = Symbol('id');

小技巧:

const obj = {};
const key = Symbol('key');
obj[key] = 123;
console.log(obj[key]); // 123

const id1 = Symbol('id');
const id2 = Symbol('id');
console.log(id1 === id2); // false


6️⃣ BigInt(大整数类型)

const big = 123456789012345678901234567890n;

小技巧:

const a = 9007199254740993n;
const b = 10n;
console.log(a + b); // 9007199254741003n


7️⃣ undefined 与 null

let a;       // undefined
let b = null; // null

小技巧:

typeof undefined // "undefined"
typeof null      // "object" (历史遗留问题)

if (a == null) { // a 为 null 或 undefined
  console.log('空值');
}


8️⃣ Object(对象类型)

const obj = { name: 'Alice', age: 20 };
const arr = [1,2,3];
const func = () => 42;

小技巧:

const newObj = {...obj}; // 浅拷贝

const deep = JSON.parse(JSON.stringify(obj));

Array.isArray(arr) // true

for (let key in obj) console.log(key, obj[key]);
Object.keys(obj).forEach(k => console.log(k, obj[k]));


9️⃣ typeof 快速总结

类型typeof 返回值
Number“number”
String“string”
Boolean“boolean”
Symbol“symbol”
BigInt“bigint”
undefined“undefined”
null“object”
Object/Array/Function“object” / “function”

✅ 小技巧:

value === null
typeof value === 'object' && value !== null

typeof func === 'function'


10️⃣ 实用技巧总结

  1. 安全转换Number(), String(), Boolean()
  2. 空值判断value == null 同时判断 null/undefined
  3. 数组判断Array.isArray()
  4. 深拷贝对象JSON.parse(JSON.stringify(obj))
  5. 符号唯一性Symbol()
  6. 大数安全运算BigInt
  7. 模板字符串替代拼接`${}`
  8. 快速布尔转换!!value
退出移动版