JavaScript基础之内置类型

1. 前言

JavaScript 是一种动态类型语言,变量是没有类型的,值才有类型。类型是值的内部特征,定义了值的行为,使其和其他类型值有所区分。

2. 内置类型

在JavaScript中值有7种内置类型:

  1. null 空值
  2. undefined 未定义
  3. boolean 布尔值
  4. number 数字
  5. string 字符串
  6. object 对象
  7. symbol 符号,ES6新增类型

2.1 typeof 判断值类型

2.1.1 直接判断

内置类型中有5种类型可以使用typeof来判断:

  1. undefined 未定义
  2. boolean 布尔值
  3. number 数字
  4. string 字符串
  5. symbol 符号
// 'undefined'
console.log(typeof undefined);  
// 'boolean'
console.log(typeof false);  
// 'number'
console.log(typeof 42);  
// 'string'
console.log(typeof '42');  
// 'symbol'
console.log(typeof Symbol());  

2.1.2 判断null:

// 1. 使用 ===  
a === null
// 2. 使用复合条件判断 
(!a && type a === 'object')

2.1.3 判断object

object有两个子类型:function 和 array

var obj = {};
var func = function() {};
var arr = [];

// object
console.log(typeof obj);  
// function
console.log(typeof func);
// object  
console.log(typeof arr);  

2.2 Object.prototype.toString.call() 判断值类型

// [object String]
Object.prototype.toString.call("jerry");
// [object Number]
Object.prototype.toString.call(12);
// [object Boolean]
Object.prototype.toString.call(true);
// [object Undefined]
Object.prototype.toString.call(undefined);
// [object Null]
Object.prototype.toString.call(null);
// [object Object]
Object.prototype.toString.call({name: "jerry"});
// [object Function]
Object.prototype.toString.call(function(){});
// [object Array]
Object.prototype.toString.call([]);
// [object Date]
Object.prototype.toString.call(new Date);
// [object RegExp]
Object.prototype.toString.call(/\d/);

小贴士

1. 真值-假值

类型falsetrue
nullnull
undefinedundefined
booleanfalsetrue
number0非0
string‘’(空字符串)非空字符串
objectobject
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值