JavaScript八种数据类型与类型转换

发布于:2022-12-02 ⋅ 阅读:(258) ⋅ 点赞:(0)

目录

一.数据类型

1.js中的八种数据类型

2.Number数字值

3.String字符串

4.Boolean布尔值

5.Null空值

6.Undefined未定义

7.Object对象

8.Bigint(精度整数)

9.Symbol(象征)

二.类型转换

1.隐式转换

2.显式转换


一.数据类型

1.js中的八种数据类型

Number数字、String字符串、Boolean布尔值、Null空值、undefined未定义、Object对象、bigint(精度整数)以及ES6之后新增的Symbol(象征)。

2.Number数字值

语法:

let a = 123;
let b = new Number('123');     // b === 123 is false,a是对象
let c = Number('123');         // c === 123 is true,b是数字

Number中有一个NaN非数字特殊类型,特殊注意NaN 不等于NaN,NaN和任何值做算数运算也会返回NaN。

3.String字符串

语法:

let a = "12a";
let b = new String(12a);     // b === "12a" is false,a是对象
let c = Number(12a);         // c === "12a" is true,b是字符串

4.Boolean布尔值

Boolean布尔值只有两种值,true和false 

5.Null空值

Null与undefined的区别,都是空,类型却不同。一个定义了一个未定义

6.Undefined未定义

undefined 是一个没有设置值的变量,就是未定义的变量

7.Object对象

object,js中的对象,用于存储各种键值集合和更复杂的实体,Object中又包含Data日期、Function函数、Array数组三种引用类型

语法:

//创建对象
let a = new Object();
a.test = "test";

//创建对象
let a={test:"test",}

8.Bigint(精度整数)

Javascript 中可以用Number表示的最大数字,Bigint可以表示任意大的整数,通常用来支持Number无法表示的数字。

9.Symbol(象征)

Symbol,汉译象征,符号,标志,Symbol()具有静态属性和静态方法。它的静态属性会暴露几个内建的成员对象;它的静态方法会暴露全局的 symbol 注册,每个从 返回的 symbol 值都是唯一的。一个symbol值能作为对象属性的标识符;这是该数据类型仅有的目的,不支持"new Symbol()"语法。

语法:

//创建新的symbol类型,并用一个可选的字符串作为其描述
var a = Symbol();
var b= Symbol('test');
var c= Symbol('test');
//上面的代码创建了三个新的symbol类型,不会隐式与显式将字符串“foo”转换成 symbol 类型,symbol每次都会创建一个新的symbol类型,确保唯一性

Symbol("test") === Symbol("test"); // false

二.类型转换

1.隐式转换

隐式类型转换,也称自动类型转换,是指不需要书写代码,由系统自动完成的类型转换。JS中发生隐式转换多在运算中

左式 运算符+ 左式 结果
number + number number
number + string string
string + boolean string
string == number true
undefined == null true

2.显式转换

明确知道数据,手动去转换需要的数字类型

转换函数 作用
Number() 将其它类型的数据转为数值型,遇到不能表示为number的值,都会转换成NaN,但注意null转换成0,undefined转换为NaN
parseInt() 解析字符串并返回整数,只返回字符串中的第一个number,没有或空返回NaN,以0开头的数字字符串省略0,返回其它数字字符串。
parseFloat() 函数解析字符串并返回一个浮点数,解析为第一个有效小数点,0开头字符 如果继续解析后面字符非数字则返回0,是数字 省略0 返回有效数字
String() 将其它类型的数据转为String型
toString(x) 将其它类型的数据转为String型,语法let testToString=test.toSring(),x作为参数,可传入进制数,可将需要转换的number转换为x进制再转成数字字符串
Boolean()

将其它类型的数据转为布尔值,对于number,1代表true,0就是false;对于String,空就是false,注意有空格不算空,非空就是true;对空数组为true;null,undefined,NaN都为false;

有疑问评论区留言,Finish!


网站公告

今日签到

点亮在社区的每一天
去签到