javaScript学习第一章(数据类型)夯实基础

javascript第一章(数据类型)

JavaScript 的数据类型分为 ‌原始数据类型‌ 和 ‌引用数据类型‌ 两大类:

  • 原始数据类型(基本类型)
  1. Number‌:表示数值,包括整数和浮点数(如 3.14),支持科学计数法(如 3.14e2)。特殊值包括 NaN(非数值)和 Infinity(无穷大)。
  2. String‌:表示文本数据,使用单引号('text')或双引号("text")包裹。字符串不可变。
  3. Boolean‌:表示逻辑值 truefalse
  4. Undefined‌:声明变量但未赋值时的状态。
  5. Null‌:表示空值或对象占位符。
  6. Symbol‌:ES6 引入的唯一标识符类型,用于确保对象属性的唯一性。
  • 数据类型的判断方法

​ 1. typeof 运算符‌:可判断原始类型的名称(如 "number""string"),但无法区分对象的具体类型(如 "object")。

一、数值类型(Number)

  • 在JS中所有的整数和浮点数都是Number类型
  • JS中的数值并不是无限大的,当数值超过一定范围后会显示近似值
  • Infinity 是一个特殊的数值表示无穷
  • 所以在JS中进行一些精度比较高的运算时要十分注意
  • NaN 也是一个特殊的数值,表示非法的数值

数值划分

  • 普通数字,包含浮点数据
  • 大整数(BigInt)
  • 其他进制的数字:

普通数字

let num = 10;
num = 10.5;
num = 3.14;
num = 9898989898989898989891111;// 特别大的数字 9.898989898989899e+24
num = 9999 ** 99999;// Infinity  无穷大
num = 1.22232111112321121231211;// 1.2223211111232113 丢失精读 
num = 0.0000000000000000000000000000000000001;// 1e-37
num = 0.1 + 0.2;// 0.30000000000000004 近似值 
num = 1 - "a";//NaN  (Not a Number)
a = NaN;

大整数(BigInt)

  • 大整数用来表示一些比较大的整数

  • 大整数使用n结尾,它可以表示的数字范围是无限大

 num = 99999999999999999999999999999999999999999999999999n;

其他进制数字

  • 二进制 0b

  • 八进制 0o

  • 十六进制 0x

 num = 0b1010;  // 10 
 num = 0o10;    // 8
 num = 0xff;    // 255

console.log(num)

二、类型检查

typeof 运算符

  • typeof用来检查不同的值的类型

  • 它会根据不同的值返回不同的结果

演示

let num = 10;
let num1 = 1000n;
console.log(typeof num,num);//number 10
console.log(typeof num1,num1);//bigint 1000n

三、字符串类型(String)

字符串(String)

  • 在JS中使用单引号或双引号来表示字符串
  • 转义字符 \
    • \ " --> "
    • \ ’ --> ’
    • \ \ --> \ \
    • \ t --> 制表符
    • \ n --> 换行
  • 模板字符串
    • 使用反单引号` 来表示模板字符串
    • 模板字符串中可以嵌入变量
  • 使用typeof检查一个字符串时会返回 “string”

双引号标识

 let str = "你好";
      //console.log(typeof str,str);//string 你好

转义字符

str = "hello";
str = '这是一个"字"';// 这是一个"字"
str = '这是一个"字\\\\'; // 这是一个"字\\
str = "呵呵\t哈哈哈"; // 呵呵	哈哈哈
str = "呵呵\n哈哈哈";// 呵呵     
// 哈哈哈;


模板字符串

str = `今天是个好日子`;
// console.log(str);

// 模板字符串
let str1 = `今天是周三,${str}`;//  今天是周三,今天是个好日子

四、其他数据类型

  • 布尔值(Boolean)
  • 空值 (Null)
  • 未定义(Undefined)
  • 符号(Symbol)

JS中原始值一共有七种

​ 1.Number

​ 2.BigInt

​ 3.String

​ 4.Boolean

​ 5.Null

​ 6.Undefined

​ 7.Symbol

​ 七种原始值是构成各种数据的基石

​ 原始值在JS中是不可变类型,一旦创建就不能修改

布尔值(Boolean)

  • 布尔值主要用来进行逻辑判断
  • 布尔值只有两个true 和 false
  • 使用typeof检查一个布尔值时会返回 “boolean”
演示
 let bool = true;//真    --》 boolean true
 bool = false;// 假    --》 boolean false
 console.log(typeof bool,bool)

空值 (Null)

  • 空值用来表示空对象
  • 空值只有一个 null
  • 使用typeof检查一个空值时会返回"object"
  • 使用typeof无法检查空值
演示
let a = null;
console.log(typeof a,a);// object null   类型判断不了是否为空

未定义(Undefined)

  • 当声明一个变量而没有赋值时,它的值就是Undefined
  • Undefined类型的值只有一个就是 undefined
  • 使用typeof检查一个Undefined类型的值时,会返回 “undefined”
演示
let b;
console.log(typeof b,b)//undefined undefined  未定义

符号(Symbol)

  • 用来创建一个唯一的标识
  • 使用typeof检查符号时会返回 “symbol”
演示
let c = Symbol();
console.log(typeof c,c)//symbol Symbol()

五、类型转换

类型转换指将一种数据类型转换为其他类型将其他类型转换为(字符串、数值和布尔值)

  • 类型转换-字符串
  • 类型转换-数值
  • 类型转换-布尔值

5.1 类型转换-字符串

  1. 调用toString()方法将其他类型转换为字符串
  2. 调用String()函数将其他类型转换为字符串
toString
  • 调用xxx的yyy方法
    • xxx.yyy()
  • 由于null和undefined中没有toString()所以对这两个值调用toString()时会报错
演示
// 数字类型转为字符串类型
let num = 10; //string 10
num = 10n;// string 10

// boolean 类型 
num = true;//  string true 

num = undefined;//  04.类型转换.html:85 Uncaught TypeError: Cannot read properties of undefined (reading 'toString')
num = null;//   read properties of null (reading 'toString') 会报错

//num = num.toString();
//console.log(typeof num,num)
String()
  • 调用xxx函数
    • xxx()
  • 原理:
    • 对于拥有toString()方法的值调用String()函数时, 实际上就是在调用toString()方法 对于null,则直接转换为"null" 对于undefined,直接转换为"undefined"
演示
// 调用构造方法
let b = 10;//string 10
b = true;//string true
b = null;//string null 不报错
b = undefined;// string undefined 不报错

b = String(b);
console.log(typeof b,b)

在这里插入图片描述

5.2 类型转换-数值

将其他的数据类型转换为数值

  • 使用Number()函数来将其他类型转换为数值
  • 专门用来将字符串转换为数值的两个方法
  • parseInt()
  • parseFloat()
使用Number()函数
  • 字符串
    • 如果字符串是一个合法的数字,则会自动转换为对应的数字
    • 如果字符串不是合法数字,则转换为NaN
    • 如果字符串是空串或纯空格的字符串,则转换为0
  • 布尔值
    • true转换为1,false转换为0
  • null 转换为 0
  • undefined 转换为 NaN
演示
let a = 123;//number 123
a = 'abc';//number NaN 
a = '3.141592654';//number 3.141592654
a = '11px';// number NaN  not a number  不是一个数字
a = true;// number 1
a = false;//  0 
a = undefined;// NaN
a = null;// 0

a = Number(a);
console.log(typeof a,a)

在这里插入图片描述

parseInt()/parseFloat()
  • parseInt() —— 将一个字符串转换为一个整数
    • 解析时,会自左向右读取一个字符串,直到读取到字符串中所有的有效的整数
    • 也可以使用parseInt()来对一个数字进行取整
  • parseFloat() 将一个字符串转换为浮点数
    • 解析时,会自左向右读取一个字符串,直到读取到字符串中所有的有效的小数
演示
// 方式2 parse 方法
let b = '123px';//number 123   跟Number不同 
b = 'a1234';// NaN
b = '3.141592654';//3
b = parseInt(b);

console.log(typeof b,b)


let c = '3.141592654';//3.141592654
c = 'a1234';// NaN

c = parseFloat(c);
console.log(typeof c,c)

5.3 类型转换-布尔值

  • 使用Boolean()函数来将其他类型转换为布尔值
  • 所有表示空性的没有的错误的值都会转换为false
使用Boolean()函数

转换的情况:

  • 数字
    • 0 和 NaN 转换为false
    • 其余是true
  • 字符串:
    • 空串 转换为 false
    • 其余是true
  • null和undefined 都转换为 false
  • 对象:对象会转换为true

总结

所有表示空性的没有的错误的值都会转换为false: 0、NaN、空串、null、undefined、false

演示
let a = 1;//boolean true
a = -1;// true
a = 0;// false
a = NaN;//false
a = Infinity;// true

a = '你好啊';//true
a = 'true';// true
a = 'false';//true
a = null;// false
a = undefined; // false
a = '';//false
a = '  ';//true

a = Boolean(a);
console.log(typeof a,a);

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

星空寻流年

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

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

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

打赏作者

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

抵扣说明:

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

余额充值