JS数据类型与转换,常见错误

一.数据类型

JS 数据类型整体分为两大类:
基本数据类型
引用数据类型

1.基本数据类型

1.1 number 数字型

在这里插入图片描述
赋值为数字的则为数字型,JavaScript 中的正数、负数、小数等 统一称为 数字类型。
数字可以有很多操作,比如,乘法 * 、除法 / 、加法 + 、减法 - 等等,所以经常和算术运算符一起。
数学运算符也叫 算术运算符,主要包括加、减、乘、除、取余(求模)。
注意点:
JS 是弱数据类型,变量到底属于那种类型,只有赋值之后,我们才能确认
Java是强数据类型 例如 int a = 3 必须是整数
在这里插入图片描述

1.2.string 字符串型

通过单引号( ‘’) 、双引号( “”)或反引号( ` ) 包裹的数据都叫字符串,单引号和双引号没有本质上的区别,推荐使用单引号。在这里插入图片描述
注意点:

  1. 无论单引号或是双引号必须成对使用
  2. 单引号/双引号可以互相嵌套,但是不以自已嵌套自已(口诀:外双内单,或者外单内双)
  3. 必要时可以使用转义符 \,输出单引号或双引号

字符串拼接:
场景: + 运算符 可以实现字符串的拼接。
口诀:数字相加,字符相连
在这里插入图片描述
模板字符串
语法
`` (反引号)
内容拼接变量时,用 ${ } 包住变量
在这里插入图片描述

1.3.boolean 布尔型

表示肯定或否定时在计算机中对应的是布尔类型数据。
它有两个固定的值 true 和 false,表示肯定的数据用 true(真),表示否定的数据用 false(假)。

1.4.undefined 未定义型

未定义是比较特殊的类型,只有一个值 undefined。
什么情况出现未定义类型?
只声明变量,不赋值的情况下,变量的默认值为 undefined,一般很少直接为某个变量赋值为 undefined。
在这里插入图片描述
工作中的使用场景:
我们开发中经常声明一个变量,等待传送过来的数据。
如果我们不知道这个数据是否传递过来,此时我们可以通过检测这个变量是不是undefined,就判断用户是否有数据传递过来。
注意undefined是一种类型,也可以是一个值,而不是一个错误。

1.5.null 空类型

JavaScript 中的 null 仅仅是一个代表“无”、“空”或“值未知”的特殊值
在这里插入图片描述
null 和 undefined 区别:
lundefined 表示没有赋值
null 表示赋值了,但是内容为空

使用场景:
官方解释:把 null 作为尚未创建的对象
大白话: 将来有个变量里面存放的是一个对象,但是对象还没创建好,可以先给个null

1.6.检测数据类型

通过 typeof 关键字检测数据类型
typeof 运算符可以返回被检测的数据类型。它支持两种语法形式:

  1. 作为运算符: typeof x (常用的写法)
  2. 函数形式: typeof(x)

换言之,有括号和没有括号,得到的结果是一样的,所以我们直接使用运算符的写法。
在这里插入图片描述

2.引用数据类型

引用数据类型就是除基本数据类型外的数据,即Object对象类型,Array、Function、RegExp、Date都是对象类型。
比如:
对象类型:
let obj = {name: ‘对象’}
数组:
let arr = [1,2,3]

3.数据类型转换

3.1.显示转换

转换为数字型:
Number(数据)转成数字类型
如果字符串内容里有非数字,转换失败时结果为 NaN(Not a Number)即不是一个数字,NaN也是number类型的数据,代表非数字
相关函数:
parseInt(数据) 只保留整数
parseFloat(数据) 可以保留小数

转换为字符型: :
String(数据)
变量.toString(进制)

3.2.隐式转换

某些运算符被执行时,系统内部自动将数据类型进行转换,这种转换称为隐式转换。
规则:
+ 号两边只要有一个是字符串,都会把另外一个转成字符串
除了+以外的算术运算符 比如 - * / 等都会把数据转成数字类型
缺点:
转换类型不明确,靠经验才能总结
小技巧 :
+号作为正号解析可以转换成数字型
任何数据和字符串相加结果都是字符串
在这里插入图片描述

二.常见错误

常量没赋值:
在这里插入图片描述
age变量没有定义过
很可能 age 变量没有声明和赋值
或者我们输出变量名和声明的变量不一致引起的(简单说写错变量名了):
在这里插入图片描述
注意这里提示的not defined是个错误,不要与数据类型undefined混淆

提示 “age”已经声明
很大概率是因为重复声明了一个变量。
注意let 或者const 不允许多次声明同一个变量:
在这里插入图片描述
在这里插入图片描述

常量被重新赋值了
常量不能被重新赋值:
在这里插入图片描述
在这里插入图片描述
prompt 获取过来的是字符型,会出现字符相加的问题
prompt 如果出现相加,记得要转为数字型,可以 利用 + 最简单:
在这里插入图片描述

  • 25
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

桐叶~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值