资讯专栏INFORMATION COLUMN

javascript数据类型转换

gotham / 304人阅读

摘要:如果两个值可能不是同一数据类型,如果是比较的话,会默认进行数据转换。转换成字符串转换成字符串先将对象转换成字符串,再把字符串转换成数字布尔值转换成数字转换成换成成然后让两个数字进行比较。三个等号还会比较数据类型。

javascript数据类型转换

在面试中经常会碰见问类型转换的问题,例如[] == false、[] == {}返回的是真还是假等等。。。

默认是false的五个值
null undefined NaN 0 ""

记住只有这五个值是假的剩下的全部是真的。

转换规则

如果是一个值判断是否是真假,除了默认是false的五个值剩下的全部是true。

如果是两个值比较是否相等,遵循如下规则。

val1 == val2 如果两个值可能不是同一数据类型,如果是==比较的话,会默认进行数据转换。

2.1 object == object,比较永远不相等。

2.2 object == string 先将对象转换成字符串(调用toString方法),然后再比较。

[] 转换成字符串 ""
{} 转换成字符串 "[object Object]"

2.3 object == boolean 先将对象转换成字符串(toString),再把字符串转换成数字(Number)、布尔值转换成数字(true 转换成 1 false 换成成 0)然后让两个数字进行比较。

Number("") 会输出 0

2.4 object == number
先将对象转换成字符串(toString),再把字符串转换成数字(Number),再进行比较。

2.5 number == boolean 布尔值转换成数字,然后再比较。

2.6 number == string 字符串转换成数字,然后再比较。

2.7 string == boolean 都转换成数字,,然后再比较。

2.8 null == undefined 结果是true。

2.9 null 或者 undefined 比较另外的所有值,结果都是false,不相等。

例如:

 [] == false 返回 true 2.3规则。
 [] == []  返回 false 2.1规则。
 2 == true 返回 false 2.5规则。

=== 三个等号还会比较数据类型。

这些规则背下来,就能完美的应付这样的面试题了,加油!

我的博客和GitHub地址

https://github.com/lanpangzhi

http://blog.langpz.com

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/103464.html

相关文章

  • JavaScript核心语法——数据类型

    摘要:原始类型分别有类型类型和类型三种。类型中存在一个特殊的值叫。也可以把其他类型的数据自动转换为类型运算符运算符判断原始类型语法结构变量名称。 数据类型 1.数据类型的概述;在JavaScript代码中,能够表示并且操作值的类型就叫做数据类型数据类型可以分成可变类型和不可变类型,可变类型的值是可以修改的。相反不可变类型的值是不可以修改的。数据类型还有原始类型(原始值)与引用类型(内置对象)...

    wfc_666 评论0 收藏0
  • WebSocket系列之JavaScript中数字数据如何转换为二进制数据

    摘要:以和为例,说明中的数字数据如何转换为二进制数据。对象用来表示通用的固定长度的原始二进制数据缓冲区。中的数字数据如何转换为二进制数据对和有了一个大概的了解,下面让我们来看下它是如何进行二进制数据操作的。 概述 本文主要通过对JavaScript中数字数据与二进制数据之间的转换,让读者能够了解在JavaScript中如何对数字类型(包括但不限于Number类型)进行处理。 二进制数据在日常...

    MASAILA 评论0 收藏0
  • 数据类型 - Javascript语法基础 - Javascript核心

    摘要:在编程语言中,能够表示并操作的值的类型称做数据类型。中的原始类型包括数字,字符串和布尔值。日期与时间语言核心包括构造函数,用来创建表示日期和时间的对象。其规则为如果是布尔值,和分别被转换为和如果是数字值,返回本身。 源代码: https://github.com/RobinQu/Programing-In-Javascript/blob/master/chapters/Javas...

    sevi_stuo 评论0 收藏0
  • Front-end developmenter必看,超实用的javaScript隐式类型转换规则记忆

    摘要:下面先看看涉及到的几个函数以及他们的转换规则,这个是需要记忆的内容类型转换需要使用到的函数对于布尔值用到的是对于数值,用到的是当然还有但是对于隐式类型转换的时候,调用的是前者。 javaScript类型转换规则 javaScript的类型转换其实一直是很多前端开发人员很迷的地方,一会儿这里要转换,一会儿那里又要转换,总之就是一个大写的迷,因为它隐式类型转换的地方实在是太多了。 但其实...

    fuchenxuan 评论0 收藏0
  • JavaScript 数据类型转换

    摘要:数据类型转换原文链接是一种弱类型语言,即不需要明确声明变量的类型,可以随时赋予任意类型的值。强制转换显式转换强制转换主要指使用和三个构造函数,手动将各种类型的值,转换成数字字符串或者布尔值。如果该值不能完全转换为整型或浮点型,则返回。 JavaScript 数据类型转换 原文链接 JavaScript 是一种弱类型语言,即不需要明确声明变量的类型,可以随时赋予任意类型的值。 强制转换...

    waltr 评论0 收藏0
  • WebSocket系列之字符串如何与二进制数据间进行互相转换

    摘要:总结通过使用和,我们能够在数据和二进制数据中进行互相转换。下一篇系列相关的博客,将会介绍如何通过来向后端传递二进制数据,以及如何处理通过收到的二进制数据。 概述 上一篇博客我们说到了如何进行数字类型(如Short、Int、Long类型)如何在JavaScript中进行二进制转换,如果感兴趣的可以可以阅读本系列第二篇博客——WebSocket系列之JavaScript中数字数据如何转换为...

    stackfing 评论0 收藏0

发表评论

0条评论

gotham

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<