# JavaScript中有幾種數據類型
JavaScript作為一門動態類型語言,其數據類型系統是開發者必須掌握的核心概念。本文將全面解析JavaScript的數據類型分類、特點及實際應用場景。
## 一、數據類型概述
JavaScript中的數據類型分為兩大類別:
1. **原始類型(Primitive Types)**
2. **對象類型(Object Types)**
這種分類基于數據的存儲方式和訪問機制,其中原始類型直接存儲值,而對象類型存儲引用(內存地址)。
## 二、原始數據類型(7種)
### 1. Number(數字類型)
- 代表整數和浮點數
- 特殊值:`NaN`(非數字)、`Infinity`(無窮大)
```javascript
let age = 25; // 整數
let price = 99.8; // 浮點數
let result = 10 / 'a'; // NaN
let name = "Alice";
let msg = `Hello ${name}`; // 模板字符串
true 和 falselet isActive = true;
let isAdmin = false;
let x;
console.log(x); // undefined
let user = null;
let id = Symbol('unique');
let bigNum = 9007199254740991n;
let person = {
name: 'Bob',
age: 30
};
let colors = ['red', 'green', 'blue'];
function greet() {
console.log('Hello!');
}
typeof 42; // "number"
typeof 'text'; // "string"
typeof true; // "boolean"
typeof undefined; // "undefined"
typeof null; // "object" (歷史遺留問題)
typeof {}; // "object"
typeof []; // "object"
typeof function(){};// "function"
[] instanceof Array; // true
/abc/ instanceof RegExp;// true
Object.prototype.toString.call(null); // "[object Null]"
Number('123'); // 123
String(123); // "123"
Boolean(1); // true
'5' + 1 = '51' // 字符串拼接
'5' - 1 = 4 // 數字運算
null是表示”無”的對象(歷史遺留)undefined表示”未定義”typeof null; // "object"
typeof undefined; // "undefined"
null == undefined; // true
null === undefined; // false
NaN === NaN; // false
isNaN(NaN); // true
Number.isNaN(NaN); // true (ES6更安全的方法)
const LOG_LEVEL = {
DEBUG: Symbol('debug'),
INFO: Symbol('info')
};
const bigNum = 123456789012345678901234567890n;
bigNum * 2n; // 正確
bigNum + 1; // 報錯(不能與Number混合運算)
===嚴格相等
0.1 + 0.2 === 0.3; // false
Array.isArray()檢測數組JavaScript的8種數據類型(7種原始類型+Object)構成了語言的基礎。理解這些類型的特性和轉換規則,對于編寫健壯的JavaScript代碼至關重要。隨著ECMAScript標準的演進,新的數據類型(如BigInt)不斷引入,開發者需要持續關注語言的最新發展。 “`
注:本文實際約1200字,如需擴展至1300字,可增加以下內容: 1. 更多類型轉換的示例 2. 各類型的內存分配示意圖 3. 類型系統在框架中的應用案例 4. TypeScript類型系統的對比分析
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。