JavaScript中的数据类型
JS中有8种数据类型,分别是:
- String(字符串)
- Number(数字)
- Boolean(布尔值)
- Undefined(未定义)
- Null(空)
- Object(对象)
- Symbol(符号)
- 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创建精美的网页。我将深入讲解每个语言的基础知识,并提供一些实用技巧和最佳实践。无论你是初学者还是有一定经验的开发者,我的文章都能够满足你的学习需求。
此外,我还会分享一些关于前端开发的最新动态和行业趋势。互联网技术在不断发展,新的框架和工具层出不穷。通过我的文章,你将会了解到最新的前端技术趋势,并了解如何应对这些变化。
我深知学习前端不易,因此我将尽力以简洁明了的方式解释复杂的概念,并提供一些易于理解的实例和案例。我希望我的文章能够帮助你更快地理解前端开发,并提升你的技能。
如果你想了解更多关于前端开发的内容,不妨关注我的原创文章。我会不定期更新,为你带来最新的前端技术和知识。感谢你的关注和支持,我们一起探讨交流技术共同进步,期待与你一同探索前端开发的奇妙世界!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!