JavaScript 是一種動態、弱類型的編程語言。JavaScript 有七種基本數據類型(primitive data types):字符串(string)、數字(number)、布爾值(boolean)、null、undefined、Symbol 和 BigInt,以及一種復雜數據類型——對象(object)。
字符串是一系列字符組成的文本。可以使用單引號、雙引號或反引號來定義字符串。例如:
var str1 = 'hello'; var str2 = "world"; var str3 = `Hello, ${name}!`;
數字可以是整數或浮點數。JavaScript 使用 IEEE 754 標準定義數字。例如:
var num1 = 123; var num2 = 3.14;
布爾值是 true 或 false。例如:
var isTrue = true; var isFalse = false;
null 表示一個空對象指針。undefined 表示未定義的值。例如:
var nul = null; var undef = undefined;
Symbol 表示唯一的標識符。例如:
var sym1 = Symbol('foo'); var sym2 = Symbol('foo'); console.log(sym1 === sym2); // false
BigInt 是一種可以安全存儲和操作大整數的數據類型。例如:
var big1 = 1234567890123456789012345678901234567890n; var big2 = BigInt('1234567890123456789012345678901234567890'); console.log(big1 === big2); // true
對象是一種復雜數據類型,包括數組、函數、日期、正則表達式等。例如:
var arr = [1, 2, 3]; var func = function() { console.log('hello'); }; var date = new Date(); var regexp = /hello/g;
除了 null 和 undefined,其他基本數據類型都有對應的包裝對象(wrapper object)。例如:
var str = 'hello'; var num = 123; var bool = true; var strObj = new String('hello'); var numObj = new Number(123); var boolObj = new Boolean(true); console.log(typeof str); // 'string' console.log(typeof strObj); // 'object'
需要注意的是,JS 是一門“弱類型”的語言,變量的類型不需要在聲明時確定,可根據賦值的數據類型變化而變化,例如:
var x = 1; // x 是 number 類型 x = 'hello'; // x 是 string 類型 x = { name: 'Tom' }; // x 是 object 類型
在 JavaScript 中,如果將一個值當作另一種類型的值使用,JavaScript 引擎會嘗試自動轉換數據類型。例如:
console.log('5' + 1); // '51' console.log('5' - 1); // 4 console.log(true + true); // 2
當涉及到值轉換時,建議使用嚴格相等運算符(===、!==),因為它會忽略數據類型的差異。例如:
console.log(5 === '5'); // false console.log(5 !== '5'); // true console.log(0 === false); // false console.log(null === undefined);// false
在 JavaScript 中對數據類型的掌握極為重要,深刻理解不同數據類型的特點和使用場景,可以更好地編寫 JavaScript 程序。
下一篇php lamp部署