前言
JavaScript是什么?这里引用百度百科的说法
JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。
语言类型
ps:检测数据类型的操作符typeof
Boolean:布尔值,true或者false,表示逻辑上的真和假【基本类型】
let a = true;
typeof a; // 'boolean'
number:数字【基本类型】
// 数字类型,最大2^53 - 1,即 9007199254740991,大于这个值可能会失去精度
let a = 9007199254740991;
let b = 90071992547409911;
let c = NaN; // NaN是特殊的number类型
console.log(a); // 9007199254740991
console.log(b); // 90071992547409900 失去精度
typeof a; // 'number'
typeof c; // 'number'
string:字符串【基本类型】
// 字符串类型
let a = 'aaa';
typeof a; // 'string'
undefined:未定义【基本类型】
// 声明了但未定义值
let a;
console.log(a); // undefined
typeof(a); // 'undefined'
null:空值【基本类型】
// 空值
let a = null;
typeof a; // object
ps: 虽然typeof null
为object
,但这只是JavaScript
存在的一个悠久 Bug
,不代表null
就是引用数据类型,并且null
本身也不是对象
symbol: 独一无二的值【基本类型】
// 独一无二的值
let a = Symbol();
typeof a; // symbol
ps: ES6 引入了一种新的原始数据类型Symbol
,表示独一无二的值。Symbol
类型实例化出的key
是不能通过Object.keys()
,for..in
,for..of
,来枚举的
BigInt: 大整数【基本类型】
// 要创建 a `BigInt`,请将 n 附加到整数末尾或调用 BigInt()
let a = 999n;
let b = BigInt(999);
typeof a; // 'bigint'
typeof b; // 'bigint'
ps: BigInt
目前已经进入Stage 4阶段 下一个版本将会作为新特性出现在ECMAScript 。BigInt
是JavaScript中一种可以用来表示任意精度整数的基本数据类型。使用BigInt
可以安全的存储和操作任意大小的整数而不受Number
类型的安全值范围的限制
object:对象,包含array,date等【引用类型】
let a = [];
let b = {};
let c = new Date();
typeof a; // 'object'
typeof b; // 'object'
typeof c; // 'object'
ps:文末附上汇总文章链接《一名【合格】前端工程师的自检清单【自检ing】》