数据类型转换

我们都知道, JavaScrip 是一种弱类型语言(也叫动态语言).这意味这,我们不需要提前声明变量的类型,直接在程序运行时,它的类型就被确定下来了.如下面的变量a

var a ;
a = 1; 
typeof(a); // a => number
a = 'str';
typeof(a); // a => String
a = true;
typeof(a); // a=> boolean

一、九大数据类型家族

最新的 ECMAScript 标准定义了 9 种数据类型,它们分为两个派系,分别是:

  • 原始类型(基本数据类型)
    • 成员: undefinedBooleanNumberString 、ES10-BigInt 、ES6-Symbol (null)
  • 对象类型
    • 成员有 :Object(Array Function Object)

二、typeof

typeof 操作符的作用是检查数据类型,但是它不能检查出 Object 派生出的结构类型。因为它检测 Object 派生的结构类型时,总会得到object

考你一个小问题,请说出下面的数据类型是什么?

typeof null; // =>object
typeof function; // => function
typeof Object; // => function

答案依次是 object 、function 、 function 。你都答对了吗?我相信一定有人和我一样,认为第二个的答案应该是 object ,而非 function

在这里插入图片描述

当我打印 Object ,你在看看,是不是恍然大悟了。

在这里插入图片描述

没错,Object 是构造函数,同样的,Array、String、Boolean 、Date 、RegExp 也是构造函数。

三、转Boolean值

数据转 Boolean 值,是我们常用的判断。那么,你能得出下面的结果吗?

Boolean(1);
Boolean(0);
Boolean(-1);
Boolean('false');
Boolean(' ');
Boolean('');
Boolean({name:'zhangSan'});
Boolean({});
Boolean([1,2,3]);
Boolean([]);
Boolean(null);
Boolean(undefined);
Boolean(false)

答案我就不说了,但是我能给你们一个转 Boolean 的口诀。

js中所有数据类型转布尔值,除了undefined 、null 、’’ 、 NaN 、 0 和 false 为false,其他都是true

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值