数据类型与typeof操作符

ECMAScript 中有 5 种简单数据类型(也称为基本数据类型): UndefinedNull BooleanNumber
String 。还有 1种复杂数据类型—— ObjectObject 本质上是由一组无序的名值对组成的。ECMAScript
不支持任何创建自定义类型的机制,而所有值最终都将是上述 6 种数据类型之一。

鉴于 ECMAScript 是松散类型的,因此需要有一种手段来检测给定变量的数据类型—— typeof 就
是负责提供这方面信息的操作符。对一个值使用 typeof 操作符可能返回下列某个字符串:

  •  "undefined" ——如果这个值未定义;
  •  "boolean" ——如果这个值是布尔值;
  •  "string" ——如果这个值是字符串;
  •   "number" ——如果这个值是数值;
  •   "object" ——如果这个值是对象或 null ;
  •     "function" ——如果这个值是函数。

 

1、Undefined 类型只有一个值,即特殊的 undefined 。在使用 var 声明变量但未对其加以初始化时(赋值),这个变量的值就是 undefined;
var aaa ;
console.log(aaa);//undefined
console.log(typeof(aaa)); //undefined
console.log(bbb);//报错

 如果打印没有声明的变量会报错

2、Null 类型是第二个只有一个值的数据类型,这个特殊的值是 null 。从逻辑角度来看, null 值表示一个空对象指针,而这也正是使用 typeof 操作符检测 null 值时会返回 "object" 的原因;
var aaa = null;
console.log(typeof(aaa));//object
console.log(null==undefined);//true

实际上, undefined 值是派生自 null 值的,因此 ECMA-262规定对它们的相等性测试要返回 true;

如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为 null 而不是其他值,只要意在保存对象的变量还没有真正保存对象,就应该明确地让该变量保存 null 值。这样做不仅可以
体现 null 作为空对象指针的惯例,而且也有助于进一步区分 null 和 undefined 。

 

转载于:https://www.cnblogs.com/LeeeOooonHuang/p/11468653.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值