【重温JS】数据类型

81 阅读1分钟

JavaScript是一种弱类型语言,即一个数据(变量或常量)不必先作声明,可在使用或赋值时再确定其数据的类型。

javascript 中有7种数据类型,分别是null(空值)、undefined(未定义)、boolean(布尔)、number(数字)、string(字符串)、object(对象)、symbol。其中null、undefined、boolean、number、string是基本数据类型。object类型包含 function、array、date 等。

var par1=null;//null
var par2;//undefined  
var par3=true;//boolean 
var par4=1;//number 
var par5='abc';//string 
var par6={'a':1};//object 
var par7=Symbol("a");//symbol 
var par8=[0,1,2];//array 

布尔

布尔有且只能有两个值:false(假)、true(真)。布尔true 可以转换为 1 ;false 可以转换为 0。

var boo1=true;
var boo2=false;
boo1 == 1 // true
boo2 == 0 // false

数字

var num1=1;
var num2=1.02;
var num3=12e3;//12000  科学计数法
var num4=12e-3;//0.012 科学计数法

字符串

字符串是用来存储字符的,可以是一对引号中的任意文本(可以使用单引号或双引号)。

var str1='字符串';
var str2="str1='字符串'";

symbol

Symbol 是ES6新增的数据类型。每一个 Symbol 的值都是不相等的,故使用Symbol 作为对象的属性名,可以保证属性不重名。

var key = Symbol('keyValue');
var obj = {};
obj[key]='666';

类型判断

使用 typeof 判断类型

typeof 1 // number
typeof undefined // undefined
typeof '666' // string

使用 Object.prototype.toString 判断类型

Object.prototype.toString.call(4) // [object Number]
Object.prototype.toString.call([0])// [object Array]
Object.prototype.toString.call(null)// [object Null]
Object.prototype.toString.call(undefined)//[object Undefined]
Object.prototype.toString.call({a:1})//[object Object]