【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

结果未达到预期,

复制代码
在一个对象中需要增加一个相同的属性名
相关推荐
Hello_Damon_Nikola5 分钟前
CH573从入门到精通
c语言·开发语言·单片机·嵌入式硬件
Logintern0913 分钟前
Langgraph使用MemorySaver建立有记忆的图
开发语言·windows·python
counting money14 分钟前
Spring AI Alibaba 从入门到实战:构建企业级 AI 应用
java·人工智能·spring
豆沙沙包?23 分钟前
C++~~~vector容器(p31-P40)
开发语言·c++
原野池予33 分钟前
深入Java集合框架:数组与List互转底层原理剖析(JDK 8)
java·数据结构·list
必须会一定会38 分钟前
GLM-5.3 迁移实战:强制思考、1M 上下文与官方编程基准
android·开发语言·kotlin
牛油果子哥q42 分钟前
C++STL容器详解:vector/list/string底层扩容、迭代器失效终极解决、容器选型避坑
开发语言·c++·list
Java成神之路-1 小时前
深入理解 HashMap 扩容时机:JDK 7 vs JDK 8 的设计差异与取舍
java·juc
李冰然1 小时前
深入Java集合框架:数组与List互转底层原理剖析(JDK 8)
java
meilindehuzi_a1 小时前
Next.js 全栈基础实战:从 SPA、SSR 到 App Router 与 Todo API
开发语言·javascript·ecmascript