【Javascript】基础数据类型

目录

基础数据类型

1.number

字面量声明

数字对象方式声明

整数判断

指定返回小数位数

NaN-表示非数字值

浮点精度

解决误差

String

字面量声明

数字对象声明

连接运算符

获取长度

大小写转换

转换成大写

转换成小写

​编辑

移除空白

获取单字符

​编辑

截取字符串

​编辑

查找字符串

替换字符串

类型转换

[Boolean(布尔值)](#Boolean(布尔值))

字面量声明

隐式转换

string

Number

数组不参与比较的时候

空数组与Boolean比较时

undefined,null,symbol

undefined与null基本同义

null是一个表示"无"的对象,转为数值时为0

打印null的数据类型

undefined是一个表示"无"的原始值,转为数值时为NaN

数值与undefined相加得NaN

undefined(尚未赋值)

变量声明但是没有赋值

函数没有返回值时,默认返回undefined

null

symbol

​编辑


基础数据类型

复制代码
Number   String   Boolean  Undefined   Null   Symbol

数据保存在栈内存⾥

1.number

字面量声明

数字对象方式声明

整数判断

指定返回小数位数

NaN-表示非数字值

是数字值则返回false,反之返回true

浮点精度

js语言在浮点数计算上会有精度误差问题

解决误差

String

字面量声明

数字对象声明

连接运算符

获取长度

大小写转换

转换成大写
转换成小写

移除空白

移除前后对比

获取单字符

截取字符串

slice(1,4)意思是从字符串第一个字符开始截取,截取到第四个字符

字符串从0开始,及asdfg 第一个字符为s,第四个字符为g,但不打印

slice(start(打印),end(不打印))

查找字符串

查找某个字符,从第几个字符开始找

替换字符串

类型转换

Boolean(布尔值)

字面量声明

声明的时候加引号,打印出来的是字符串类型

声明的时候不加引号,打印出来的是布尔类型

隐式转换

|-----------|--------------|----------|
| | true | false |
| String | 非空字符串 | 空字符串 |
| Number | 非0的数值 | 0/NaN |
| Array | 数组不参与比较时 | 参与比较的空数组 |
| Object | ✅ | |
| undefined | | ✅ |
| null | | ✅ |
| NaN | | ✅ |

string
Number
复制代码
数组不参与比较的时候
空数组与Boolean比较时

数组之间参与比较

当其他类型与Boolean类型对比时,会将其他类型先转换为数值类型再对比

undefined,null,symbol

undefined与null基本同义

null是一个表示"无"的对象,转为数值时为0

打印null的数据类型

面试的时候可能会问到null是一个什么类型的

对象型的

undefined是一个表示"无"的原始值,转为数值时为NaN

数值与undefined相加得NaN

undefined(尚未赋值)

变量声明但是没有赋值
函数没有返回值时,默认返回undefined

null

复制代码
null表示"没有对象",即该处不应该有值。
复制代码
用法:(1) 作为函数的参数,表示该函数的参数不是对象(2) 作为对象原型链的终点
复制代码
     Object.getPrototypeOf(Object.prototype) // null

symbol

假设定义了一个a变量

在a的变量定义了一个b属性,并且给b属性赋值了一个字符串1

假设再b赋值一个2

结果未达到预期,

复制代码
在一个对象中需要增加一个相同的属性名
相关推荐
述雾学java3 分钟前
Spring Cloud Feign 整合 Sentinel 实现服务降级与熔断保护
java·spring cloud·sentinel
保持学习ing3 分钟前
苍穹外卖day3--公共字段填充+新增菜品
java·阿里云·实战·springboot·前后端·外卖项目·阿里云文件存储
charlie11451419113 分钟前
深入理解Qt的SetWindowsFlags函数
开发语言·c++·qt·原理分析
77qqqiqi22 分钟前
正则表达式
java·后端·正则表达式
厦门德仔1 小时前
【WPF】WPF(样式)
android·java·wpf
大春儿的试验田1 小时前
高并发收藏功能设计:Redis异步同步与定时补偿机制详解
java·数据库·redis·学习·缓存
Gappsong8741 小时前
【Linux学习】Linux安装并配置Redis
java·linux·运维·网络安全
likeGhee1 小时前
python缓存装饰器实现方案
开发语言·python·缓存
hqxstudying1 小时前
Redis为什么是单线程
java·redis
whoarethenext1 小时前
使用 C++/Faiss 加速海量 MFCC 特征的相似性搜索
开发语言·c++·faiss