首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >JS数据类型转换

JS数据类型转换

原创
作者头像
剁椒鱼鳞
发布2023-05-26 15:07:57
发布2023-05-26 15:07:57
3.2K0
举报
文章被收录于专栏:前端小学生前端小学生

一、强制/显式类型转换

主要有Number、String、Boolean三种

1. Number

可以将任意类型数据转为number,主要分为简单数据类型、引用数据类型两种

a. 简单数据类型

null ➡️ 0,undefined ➡️ NaN,'' ➡️ 0,123abc ➡️ NaN,number ➡️ number, 非空字符串 ➡️ NaN

b. 引用数据类型

Object、Array:先调用valueOf()方法,如果返回简单数据类型,则可,否则再调用toString()方法,如果得到简单数据类型即可,否则报错。

Date:与Object、Array正好相反;。

[] ➡️ '' ➡️ 0

2. String

可以将任意类型数据转为string,主要分为简单数据类型、引用数据类型两种

a. 简单数据类型

null ➡️ 'null',undefined ➡️ 'undefined',true ➡️ 'true',false ➡️ 'false'

b. 引用数据类型

Object、Array:先调用toString()方法,如果返回简单数据类型,则可,否则再调用valueOf()方法,如果得到简单数据类型即可,否则报错。

3. Boolean

可以将任意类型数据转为boolean,true ➡️ true,false ➡️ false,除了以下五个,其余全部转为true

undefined、null、0(包括+0和-0)、NaN、''(空字符串)

二、自动/隐式类型转换

主要有三种情况,自动转为boolean、自动转为数值、自动转为字符串(+、-)

1. 自动转为boolean

a. 短路,如:1 && 2 && 3 ➡️ 1,0 && 1 && 2 ➡️ 1

b. !![] ➡️ false

c. 三目/元运算

2. 自动转为数值

a. 除了加,其他四则运算均转为数值

b. 一元运算符,+true ➡️ 1

c.

3. 自动转为字符串

a. 只要a和b相加,只要有一个是字符串,那么就会转为字符串

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、强制/显式类型转换
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档