JavaScript 基本数据类型转换你了解嘛

目录
  • 前言
  • 转换为数字
    • Number(string) 方法
    • parseInt(string, radix)
    • parseFloat(string)
    • 隐式转换
  • 转换为字符串
    • toString()
    • String()
    • 隐式转换
  • 转换为布尔值
    • Boolean()
    • 条件语句
    • 隐式转换
  • 总结

前言

数据类型转换是我们在前端开发中经常遇到的场景,一般而言,在 JavaScript 中类型转换有三种情况:

  • 转换为数字(调用 Number(),parseInt(),parseFloat()方法)
  • 转换为字符串(调用.toString()或 String()方法)
  • 转换为布尔值(调用 Boolean()方法)

需要注意的是:null、undefined 没有.toString() 方法

转换为数字

Number(string) 方法

Number() 可以把任意值转换成数字,如果要转换的目标对象(一般是字符串)中有不是数字的值,则会返回 NaN

Number('1')   // 1
Number(true)  // 1
Number('123s') // NaN
Number({})  //NaN

parseInt(string, radix)

解析一个字符串并返回指定基数的十进制整数,radix 是 2-36 之间的整数,表示被解析字符串的基数。

parseInt('2') //2
parseInt('2',10) // 2
parseInt('2',2)  // NaN
parseInt('a123')  // NaN  如果第一个字符不是数字或者符号就返回NaN
parseInt('123a')  // 123

parseFloat(string)

解析一个参数并返回一个浮点数。

parseFloat('123a')	//123
parseFloat('123a.01')	//123
parseFloat('123.01')	//123.01
parseFloat('123.01.1')	//123.01

隐式转换

let str = '123'-str// -123str+1 // '1231'+str+1 // 124let res = str - 1 //122let str = '123'
-str	// -123
str+1 // '1231'
+str+1 // 124
let res = str - 1 //122

转换为字符串

toString()

将目标对象转换为字符串。

注意:null,undefined 不能调用。

Number(123).toString()	//'123'
[].toString()	//''
true.toString()	//'true'

String()

String() 的作用比较强大,它可以将任何传入的值都转为字符串。

String(123)	//'123'
String(true)	//'true'
String([])	//''
String(null)	//'null'
String(undefined)	//'undefined'
String({})	//'[object Object]'

隐式转换

当 + 两边有一个是字符串,另一个是其它类型时,会先把其它类型转换为字符串再进行字符串拼接,返回字符串:

let a = 1
a + ''	// '1'

转换为布尔值

Boolean()

Boolean() 方法会将以下值转换为 false:

  • 0
  • “”
  • null
  • undefined
  • NaN

其余的所有值都会被转换为 true。

Boolean('') //false
Boolean(0) //false
Boolean(1) //true
Boolean(null) //false
Boolean(undefined) //false
Boolean(NaN) //false
Boolean({}) //true
Boolean([]) //true

条件语句

在条件语句中,我们一般不会主动进行布尔转换。

let a
if(a) {
  //...   //这里a为undefined,会转为false,所以该条件语句内部不会执行
}

隐式转换

let str = '111'
console.log(!!str) // true

总结

以上就是 JavaScript 基本数据类型转换相关的知识总结,其中最需要注意的是隐式转换。

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • JavaScript数据类型转换详解(推荐)

    JS数据类型 在 JavaScript 语言中数据类型分为2大类:基本数据类型和复杂数据类型 基本数据类型有: number string boolean null undefined symbol bigint 复杂数据类型有: 标准普通对象:object 标准特殊对象:Array.RegExp.Date.Math.Error-- 非标准特殊对象:Number.String.Boolean-- 可调用/执行对象「函数」:function 类型之间的转换 类型转换可以分为两种:隐式类型转换 和

  • 浅谈javascript中的数据类型转换

    1.把其他的数据类型转换为number类型 Number()->严格 parseFloat/parseInt ->非严格 isNaN(value) 如果value值不是数字类型的,它是首先调用Number转换为数字类型然后在判断是否为有效的数字 例如: Number("12px"); ->NaN parseInt("12px"); ->12 isNaN("12"); ->false 规律: 1)把布尔类型转换为数字的

  • 详解Javascript数据类型的转换规则

    一.数据类型 5种基本数据类型:Null/Undefined/String/Boolean/Number 1种复杂数据类型:Object 二.数据类型检测 传送门<JS中检测数据类型的几种方式及优缺点小结> 1.typeof 2.instanceof/constructor 3.Object.prototype.toString.call(value) 4.Object.prototype.toString 三.数据类型转换 JS内部提供不同数据类型的自动转换机制,在某处预期为某种类型而不是某

  • javascript基本数据类型和转换

    ECMAScript中有5种基本数据类型:Undefined.Null.Boolean.Number.String.还有1种复杂数据类型-Object,Object实质上是由一组无序的名值对(键值对)组成的.ECMAScript不支持任何创建自定义类型的机制. 由于ECMAScript是松散型的,所以需要一种手段来检测变量的数据类型,typeof就是具有这种功能的操作符.用typeof检测变量可能返回以下某个字符串: "undefined" 变量未定义 "boolean&qu

  • JavaScript数据类型转换的注意事项

    1.字符串的不可变性  字符串定义了后,会一直占据内存空间,企鹅该处内存空间(栈)不可被重新赋值. 2.短路运算 ||.&& 二元运算符,返回参与运算的操作数的原值(原数据类型和原数据), 运算结束后,返回导致运算结束的那个操作数. 3.三元运算符 code1?code2:code3;   与if-else 不同: 返回code2或code3的值----code2,code3   都可以空的{}代替:       不能写break,continue. 4.NaN NaN !=NaN, 任何

  • JavaScript的数据类型转换原则(干货)

    我们都知道JavaScript是一门弱类型(或称动态类型)的语言,即变量的类型是不确定的. var num = 123 ; //123 var num = 'HAHAHA' + num ; // "HAHAHA123" 上面的代码中,变量num起初是一个数值,后来又变成一个字符串.变量类型完全由当前值决定.这种类型就叫弱类型. 我们知道,在编程语言中,数据本身和运算之间都是有类型的. 在强类型的编程语言中,不同类型的变量是不能直接进行运算的. 但是在弱类型语言中不同类型的变量却是可以直

  • JavaScript 基本数据类型转换你了解嘛

    目录 前言 转换为数字 Number(string) 方法 parseInt(string, radix) parseFloat(string) 隐式转换 转换为字符串 toString() String() 隐式转换 转换为布尔值 Boolean() 条件语句 隐式转换 总结 前言 数据类型转换是我们在前端开发中经常遇到的场景,一般而言,在 JavaScript 中类型转换有三种情况: 转换为数字(调用 Number(),parseInt(),parseFloat()方法) 转换为字符串(调用

  • javascript 数据类型转换(parseInt,parseFloat)

    javascript有两种数据类型的转换方法: (一)将整个值从一种类型转换为另一种数据类型(称作基本数据类型转换) (二)从一个值中提取另一种类型的值,并完成转换工作 基本数据类型转换的三种方法: 1.转换为字符型:String(); 例:String(678)的结果为"678" 2.转换为数值型:Number(); 例:Number("678")的结果为678 3.转换为布尔型:Boolean(); 例:Boolean("aaa")的结果为t

  • 老生常谈javascript的类型转换

    目录: 1 : 伪对象  2 : 转换为字符串  3 : 数字转字符串  4 : 转换为数字  5 : 转换为Boolean  6 : Number()和parseInt()的区别  7 : String()和toString()的区别 1 : 伪对象 伪对象:javascript是一门很有意思的语言,即便是基本类型,也是伪对象,所以他们都有属性和方法. 变量a的类型是字符串,通过调用其为伪对象的属性length获取其长度 . <script> var a="hello javasc

  • JavaScript强制类型转换和隐式类型转换操作示例

    本文实例讲述了JavaScript强制类型转换和隐式类型转换.分享给大家供大家参考,具体如下: 在JavaScript中声明变量不需指定类型, 对变量赋值也没有类型检查,同时JavaScript允许隐式类型转换.这些特征说明JavaScript属于弱类型的语言. (1).转换为字符串 转换为字符串是应用程序中的常见操作,javascript提供了toString方法.多数的JavaScript宿主环境(比如Node.js和Chrome)都提供了全局函数toString: 与此同时Object.p

  • JavaScript 隐性类型转换步骤浅析

    这里说的隐性类型转换,是==引起的转换. 如果存在NaN,一律返回false 再看有没有布尔,有布尔就将布尔转换为数字 接着看有没有字符串, 有三种情况,对方是对象,对象使用toString进行转换:对方是数字,字符串转数字:对方是字符串,直接比较:其他返回false 如果是数字,对方是对象,对象取valueOf进行比较, 其他一律返回false null, undefined不会进行类型转换, 但它们俩相等 这个顺序一定要死记,这是面试时经常问到的. 下面是一些杂题,自己做做 0 == und

  • JavaScript数据类型转换实例(其他类型转字符串、数值型、布尔类型)

    前言 什么是数据类型转换? 使用表单.prompt 获取过来的数据默认类型是字符串类型的,此时就不能直接进行加减法运算,而需要转换变量的数据类型. 通俗来说,数据类型转换就是将一种数据类型转换成另外一种数据类型. 在平常代码的使用中,我们偶尔会遇到需要进行数据类型转换的时候,比如将数值型转换为字符串,或者将null/undefined转换为布尔类型等等,这篇文章我们主要讲以下三种类型的转换: 其他类型转为字符串 其他类型转为数值型 其他类型转为布尔类型 其他类型转为字符串: 有三种方法 //第一

  • JavaScript数据类型转换

    目录 一.转换函数 1.parseInt() 2.parseFloat() 3.toString() 二.强制类型转换函数 1.Boolean() 2.Number() 3.String() 一.转换函数 1.parseInt() parseInt()函数可以将任何类型的值转换为整数. 例如: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">

  • Java数据类型分类与基本数据类型转换

    目录 1.数据类型的分类 2.基本数据类型转换 (1)自动类型转换 (2)强制类型转换 1.数据类型的分类 Java的数据类型主要分为两类:基本数据类型.引用数据类型 Java中的字符串String属于引用数据类型.因为String是一个类 他们的默认值和字节大小如下: byte类型的取值范围为-128~127,因为1个字节=8位,则一个字节的区间为:[-128,127] 计算机储存有符号的整数时,是用该整数的补码进行存储的. 注意事项: Java中的整型常量默认是int类型,声明long类型常

  • 详解Go语言strconv与其他基本数据类型转换函数的使用

    目录 前言 strconv string 与 int 之间的转换 Itoa:int 类型转 string 类型 Atoi:string 类型转 int 类型 FormatInt:将数字转成指定进制数并以 string 类型返回 ParseInt:给定基数(进制数)和位数,返回对应十进制的值 string 与 float 之间的转换 ParseFloat:字符串类型转浮点型类型 FormatFloat:根据格式 fmt 和精度 prec 将浮点数 f 转换为字符串 string 与 bool 之间

随机推荐