JavaScript中的数据类型

2023-12-13 07:45:04

JS中有8种数据类型,分别是:

  1. String(字符串)
  2. Number(数字)
  3. Boolean(布尔值)
  4. Undefined(未定义)
  5. Null(空)
  6. Object(对象)
  7. Symbol(符号)
  8. bigint(在ES2020版本中,定义的一种数据类型),专门用来表示大整数

数值(Number):

- 数值就是现实生活中的数字,包括整数(int)和浮点数(float)

- 在js中,所有的数字都是number类型

- 数值在计算机底层使用64位的二进制数据保存

- 所以在JS中,并不是可以精确的表示任意数字

- 对于整数来说,精确表示最大值 九千万亿,9后边15个零

- 特殊的数字:

Infinity 表示正无穷

-Infinity 表示负无穷

NaN (Not a Number) 表示非法数字

了解:

- 为了解决JS中不能存储大整数的问题,在ES2020版本中,

定义了一种新的数据的数据类型(bigint),专门用来表示大整数

- 大整数以n结尾,大小没有限制,但是目前标准还没有正式推出,

即使推出也不会立即被所有浏览器支持(主要是IE),所以现在只需了解一下即可。

var a = 10; // 整数

a = 3.5; // 浮点数

// 创建数字时,默认创建的都是10进制的数字,可以通过一些特殊方式,来通过其他的进制来创建数字

// 0b 开头表示二进制数字

// 0o 开头表示八进制数字

// 0x 开头表示十六进制数字

a = 0b10; // 使用二进制的形式创建数字

a = 0o10; // 使用八进制的形式创建数字

a = 0xff; // 使用十六进制的形式创建数字

//在JS中可以确保大部分整数运算得到一个精确的结果,但是一旦超过16位数字,运算结果是不精确的值

a = 9111111111111432; // 16位整数可以精确表示

a = 91111111111114325; // 超过16位,数字显示为近似值

a =
911111111111143259111111111111432591; // 当超过一定范围,数字将会以科学计数法来显示

a =
911111111111143259111111111111432591 ** 10; // 当数字再大的时候,会显示Infinity,表示正无穷

//在JS中,小数可以确保小数点后15位的值准确,超过15位则会显示近似值

a = 1.123456789012345;

//在JS中,小数的计算可能会出现近似的结果

//如果计算要求的精度比较高,千万不要在JS中直接算

a = 0.1 + 0.2;

a = 10 - 'hello';

// console.log(a);

Var b=911111111111143251239111111111111432512391111111111114325123n;

// console.log(b);

字符串 (String):

- 在JS中使用字符串来表示语音、文字这些内容

- 字符串需要使用引号引起来

- 单引号双引号都可以,但是注意不要混合使用

- 同类型的引号是不能嵌套的

- 在JS中,使用 \ 作为转义字符

例子:

\" --> "

\' --> '

\\ --> \

\t --> 制表符(缩进)

\n --> 在console换行

- 引号只在当前行起作用

var a = 'Hello';

a = "Hello";

// a = "hello'; //不要这么写

// a = 'Hello Hello "aaaa"';

a = "Hello H\nello \"aa\\\\aa\"";

// console.log(a);

a = "hello hello How are you";

?布尔值(boolean):

布尔值(boolean),主要用来进行逻辑判断

- 布尔值只有两个值:

true 表示真

false 表示假

var a = false;

console.log(typeof a) // boolean

- typeof的情况:

typeof 检查 数字时,返回 number

typeof 检查 字符串时,返回 string

typeof 检查 布尔值时, 返回 Boolean

?null和undefined:

空值(null)

- 空值就表示没有,表示空的对象

- 空值只有一个 null

未定义(undefined)

- 当我们声明了一个变量,又不给变量赋值时,它的值就是undefined

- 一般我们不会主动为一个变量赋值为undefined

typeof的返回值:

检查 null时,它会返回 object (这个是JS中的bug,一个历史悠久的bug)

检查 undefined时,它会返回 undefined

var a = null;

a = undefined; // 通常情况下不会这么写

console.log(typeof null);

console.log(typeof undefined);

基本数据类型5种:

在JS中的这几种数据类型,被统称为基本数据类型:

数值(number)

字符串(string)

布尔值(boolean)

空值(null)

未定义(undefined)

- 基本数据类型是构建程序的基石,所有的数据都是以上几种数据组合而成。

- 所有的基本数据类型,都是不可变的。

- 在JS中,变量并不真正的存储值

- 在JS中,变量就相当于值的别名

Symbol

Symbol是一种原始类型,可以使用 Symbol() 来创建一个新的 Symbol 对象。Symbol 通常用于作为对象属性的键(key),因为添加到对象中的 Symbol 属性不会出现在 for…in 循环、Object.keys()、
Object.getOwnPropertyNames() 等方法中。这使得 Symbol 成为一种适合用于定义隐藏的属性的机制。

需要注意的是,虽然 Symbol 是基本数据类型之一,但是在逻辑运算中,Symbol 类型的值不能被强制转换为其他数据类型。

检查类型tyepof:

var a = 10;

var b = '10';

//typeof 用来检查一个值的类型

// 注意:typeof检查的是值的类型,而不是变量的类型(变量也没有类型)

//用法:tyepof 值

console.log(typeof a); //number

console.log(typeof NaN); //number

console.log(typeof '10'); // string

console.log(typeof false); // boolean

console.log(typeof undefined); //undefined

console.log(typeof null); // 'object' 是js底层遗留问题

console.log(typeof Array) // 'function'

console.log(typeof Function) // 'function'

console.log(typeof Objcet) // 'function'

console.log(typeof {}); // 'object'

console.log(typeof []); // 'object'

欢迎关注我的原创文章:小伙伴们!我是一名热衷于前端开发的作者,致力于分享我的知识和经验,帮助其他学习前端的小伙伴们。在我的文章中,你将会找到大量关于前端开发的精彩内容。

学习前端技术是现代互联网时代中非常重要的一项技能。无论你是想成为一名专业的前端工程师,还是仅仅对前端开发感兴趣,我的文章将能为你提供宝贵的指导和知识。

在我的文章中,你将会学到如何使用HTML、CSS和JavaScript创建精美的网页。我将深入讲解每个语言的基础知识,并提供一些实用技巧和最佳实践。无论你是初学者还是有一定经验的开发者,我的文章都能够满足你的学习需求。

此外,我还会分享一些关于前端开发的最新动态和行业趋势。互联网技术在不断发展,新的框架和工具层出不穷。通过我的文章,你将会了解到最新的前端技术趋势,并了解如何应对这些变化。

我深知学习前端不易,因此我将尽力以简洁明了的方式解释复杂的概念,并提供一些易于理解的实例和案例。我希望我的文章能够帮助你更快地理解前端开发,并提升你的技能。

如果你想了解更多关于前端开发的内容,不妨关注我的原创文章。我会不定期更新,为你带来最新的前端技术和知识。感谢你的关注和支持,我们一起探讨交流技术共同进步,期待与你一同探索前端开发的奇妙世界!

文章来源:https://blog.csdn.net/ForForever9/article/details/134942382
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。