广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JavaScript的八种数据类型
  • 424
分享到

JavaScript的八种数据类型

2024-04-02 19:04:59 424人浏览 薄情痞子
摘要

目录一、前言二、动态数据类型2.1 字符串string2.2 数值number2.3 布尔boolean2.4 null和undefined2.5 symbol2.6 对象objec

一、前言

在ES5的时候,我们认知的数据类型确实是 6种:NumberStringBooleanundefinedobjectNull

es6 中新增了一种 Symbol 。这种类型的对象永不相等,即始创建的时候传入相同的值,可以解决属性名冲突的问题,做为标记。
谷歌67版本中还出现了一种 bigInt。是指安全存储、操作大整数。
所以:准确来说目前js数据类型总共有8种!

  • Number
  • String
  • Boolean
  • Null
  • Undefined
  • Object
  • Symbol
  • BigInt

按照类型来分有基本数据类型和引用数据类型:

基本数据类型:StringNumberBooleanNullUndefinedSymbol

引用数据类型:Object【Object是个大类,function函数、array数组、date日期...等都归属于Object】

二、动态数据类型

javascript 拥有动态类型。这意味着相同的变量可用作不同的类型

JavaScript中变量似乎很简单,因为它声明变量只需要一个“var”就可以,不像其他编程语言严格区分了数据类型(int/double/char/boolean...)。这样做也是有好处的,变量可以被赋予任何类型的值,同样也可以给这个变量重新赋予不同类型的值。并不是“一定终身”

var x = 1;        //number类型
var x = 0.1;     //number类型,JS不区分整数值和浮点数值

//现在x由number变成string
var x = "hello world"; //由双引号内文本构成字符串
var x = 'javascript';   //单引号内文本同样可以构成字符串

//现在x由string变成boolean
var x = true;    //true和false作为布尔值

var x = null; 
var x = undefined;  //null和undefined很相似,是特殊的类型

2.1 字符串string

字符串是存储字符(比如 "Bill Gates")的变量

字符串可以是引号中的任意文本。可以使用单引号或双引号

  • 使用单引号或者双引号,没有区别
  • 单引号不要嵌套单引号。双引号同理,非要嵌套需要对引号进行转义 \' \"
var str = '孙悟空'; //单引号字符串
var str2 = '猪八戒'; //双引号字符串

其他转义字符:

  • \n 表示换行符
  • \r 表示回车符
  • \t 水平制表符 tab
  • \' 单引号     
  • \" 双引号     
  • \\ 反斜杠 
  • \uXXXX 四位十六进制表示unicode字符串
  • \xXX 两位十六进制表示拉丁字符

字符串拼接:

var str1 = "hello";
var str2 = "world";
var str = str1 + str2
console.log(str); //helloworld

2.2 数值number

JavaScript 只有一种数字类型。数字可以带小数点,也可以不带

var num1=5.02;     //使用小数点来写
var num2=520;      //不使用小数点来写

//极大或极小的数字可以通过科学(指数)计数法来书写
var y=123e5;      // 12300000
var z=123e-5;     // 0.00123

数值范围:

  • 5e324 ~ 1.7976931348623157e+308
  • 如果超过范围,会表示为 Infinity 或者 -Infinity

特殊的数值NaN:

  • NaN是number类型,是一个数值
  • 特点1:NaN与任何数进行任何运算结果都是NaN
  • 特点2:NaN与任何数都不相等,包括自己

相关函数:

  • isNaN() 判断数据是否是NaN, 是返回true,否则返回false
  • isFinite() 判断数据是否在范围内,在范围内返回true,否则false
//NaN是一个特殊的number,与其他所有值都不相等,包括它自身
console.log(NaN === NaN ); //false

//唯一识别NaN的方法
console.log(isNaN(NaN) );  //true

// 范围:5e324 ~ 1.7976931348623157e+308
var min = 5e324;
var max = 1.7976931348623157e+308;
var a = 1.7976931348623157e+309; 

console.log(min); //Infinity
console.log(max); //1.7976931348623157e+308
console.log(a);   //Infinity
console.log(isFinite(a)); //false(超出范围,不在数值范围内)

2.3 布尔boolean

布尔(逻辑)只能有两个值:true false

var x=true;
var y=false;

2.4 null和undefined

null 表示没有对象,此处无值

undefined 表示缺少值,本来应该有值但没定义

var x = null;
var y = undefined

2.5 symbol

Symbol 函数可以接受一个字符串作为参数,为新创建的 Symbol 提供描述,用来显示在控制台或者作为字符串的时候使用,便于区分

let name = Symbol();
let name2 = Symbol("bb");
console.log(name);  // Symbol()
console.log(typeof name);  // "symbol"
console.log(name,name2); //Symbol() Symbol(bb)
console.log( name === name2); // false

2.6 对象object

对象由花括号分隔。在括号内部,对象的属性以键值对的形式 (name : value) 来定义。属性由逗号分隔

//空格和折行无关紧要。声明可横跨多行
var obj = {
    "name":"张三",
    "age":18
}

(这里键名也可以不用加引号) 

读取对象中属性:

name = obj.name
//或
name = obj['name']

三、基本数据类型与引用数据类型区别

3.1 声明变量时不同的内存分配

基本数据类型由于占据的空间大小固定且较小,会被存储在栈当中,也就是变量访问的位置
引用数据类型存储在堆当中,变量访问的其实是一个指针,它指向存储对象的内存地址

3.2 正是因为内存分配不同,在复制变量时结果也不一样

基本数据类型复制后2个变量是独立的,因为是把值拷贝了一份
引用数据类型则是复制了一个指针,2个变量指向的值是该指针所指向的内容,一旦一方修改,另一方也会受到影响?


<script type="text/javascript">
    var x = 3;
    var y = x;
    console.log(x,y); //3 3
    // 基本数据类型复制后2个变量是独立的
    x = 5; //修改一方,另一个不受影响
    console.log(x,y); //5 3 
    
    
    var a = [0,1,2,3];
    var b = a;
    console.log(a, b); //(4) [0, 1, 2, 3] (4) [0, 1, 2, 3]
    a[0] = 9
    console.log(a, b); //(4) [9, 1, 2, 3] (4) [9, 1, 2, 3]
</script>

结果:

这里明显可以看出b复制了a,改变a数组的值,b数组也跟着改变了。这就是因为当引用数据类型复制的是同一个指针而不是同一个值,指针指向的地址都是相同的,一方修改另一方也会受影响!

(这里涉及了JS的深拷贝和浅拷贝,这里就不再详细赘述,后面会有单独文章进行讲解)

3.3 参数传递不同

基本数据类型把变量里的值传递给参数,之后参数和这个变量互不影响
引用数据类型(这里拿函数举例):虽然函数的参数都是按值传递的,但是引用值传递的值是一个内存地址,实参和形参指向的是同一个对象,所以函数内部对这个参数的修改会体现在外部
数据类型的转换以及检测数据类型的方法会在其他文章单独讲解,为了方便阅读这里就不再详细赘述~

到此这篇关于JavaScript的八种数据类型的文章就介绍到这了,更多相关JavaScript数据类型内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

参考链接:

https://www.html.cn/qa/javascript/11619.html

Https://www.cnblogs.com/nangezi/p/9049025.html

https://blog.csdn.net/u013592575/article/details/95087953

--结束END--

本文标题: JavaScript的八种数据类型

本文链接: https://www.lsjlt.com/news/161940.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaScript的八种数据类型
    目录一、前言二、动态数据类型2.1 字符串string2.2 数值number2.3 布尔boolean2.4 null和undefined2.5 symbol2.6 对象objec...
    99+
    2022-11-12
  • JavaScript的八种数据类型分别是什么
    小编今天带大家了解JavaScript的八种数据类型分别是什么,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习“JavaScript的八...
    99+
    2023-06-26
  • 【java的类型数据】——八大类型数据
    文章目录 前言字面常量字面常量的分类: 数据类型和变量变量的包装类和范围范围整型变量byteintshortlong 浮点型变量双精度浮点型double单精度浮点型float 字符型变量char布尔型变量 boole...
    99+
    2023-08-16
    java 开发语言 类型数据 学习
  • Java中的八种基本数据类型详解
    目录一、八种基本数据类型常识基本常识表详解二、直接量与类型转换2.1、直接量2.2、类型转换1.自动转换:低类型的向高类型的转换 2.强制转换:高类型的向底类型转换,但可能...
    99+
    2022-11-13
  • JS入门必备之八种数据类型
    目录一、开门见山二、动态数据类型(1)字符串string(2)数值number(3)布尔boolean(4)null和undefined(5)symbol (6)对象obj...
    99+
    2022-11-13
  • JavaScript的数据类型有哪几种
    本篇内容介绍了“JavaScript的数据类型有哪几种”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!本教程...
    99+
    2022-10-19
  • javascript中有几种数据类型
    本篇内容主要讲解“javascript中有几种数据类型”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript中有几种数据类型”吧! ...
    99+
    2022-10-19
  • javascript有多少种数据类型
    这篇文章将为大家详细讲解有关javascript有多少种数据类型,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。javascript有9种数据类型,分别为:字符串(String)、数字(Number)、布尔...
    99+
    2023-06-14
  • Java 八种基本类型和基本类型封装类
    首先,八种基本数据类型分别是:int、short、float、double、long、boolean、byte、char;     它们的封装类分别是:Integer、Short、Float、Double、Long、Bo...
    99+
    2023-05-31
    java 基本类型 ava
  • javascript有几种基本数据类型
    小编给大家分享一下javascript有几种基本数据类型,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2022-10-19
  • php八大数据类型是什么
    小编给大家分享一下php八大数据类型是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php的框架有哪些php的框架:1、Laravel,Laravel是一款免...
    99+
    2023-06-14
  • java八大数据类型指的是什么
    本文小编为大家详细介绍“java八大数据类型指的是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“java八大数据类型指的是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。八大数据类型:1、byte(位),...
    99+
    2023-07-05
  • JavaScript中检测数据类型的四种方法
    目录1. typeof2. instanceof3. constructor(构造函数)4. Object.prototype.toString.call()前言:在介绍检测数据类型...
    99+
    2022-11-12
  • PHP 的8种数据类型
    PHP 变量存储不同的类型的数据,不同的数据类型能做不一样的事情。 PHP 支持以下8种数据类型: Integer(整型) String(字符串) Boolean(布尔型) Float(浮点型) Array(数组) NULL(空值) Obj...
    99+
    2023-09-05
    php 开发语言 服务器 数据库 运维
  • redis的五种数据类型
    redis的五种数据类型redis客户端建立./redis-cli -h 192.168.1.22 -p 6380 --raw1.String应用场景:统计网站访问数量、当前在线人数、微博数、粉丝数等,全局...
    99+
    2022-10-18
  • JavaScript第七种数据类型Symbol的用法详解
    目录一、什么是Symbol二、作为属性名的Symbol三、Symbol中的方法1、Symbol.for()2、Symbol.keyFor()一、什么是Symbol Symbol是ES...
    99+
    2022-11-13
  • JavaScript变量能保存多种数据类型吗
    这篇文章主要讲解了“JavaScript变量能保存多种数据类型吗”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript变量能保存多种数据类型吗”...
    99+
    2022-10-19
  • JavaScript中检测数据类型的四种方法总结
    目录检测数据类型1:typeof检测数据类型2:instanceof检测数据类型3:constructor检测数据类型4:Object.prototype.toString.call...
    99+
    2023-05-16
    JavaScript检测数据类型方法 JavaScript检测数据类型 JavaScript数据类型
  • redis有几种数据类型
    今天就跟大家聊聊有关redis有几种数据类型,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Redis支持五种数据类型:string(字符串),has...
    99+
    2022-10-18
  • 比较Java和JavaScript中的数据类型:哪种更适合处理大型数据?
    Java和JavaScript都是广泛使用的编程语言,它们的数据类型在处理大型数据时具有不同的优势和劣势。在本文中,我们将比较Java和JavaScript中的数据类型,并讨论哪种更适合处理大型数据。 Java和JavaScript中的数据...
    99+
    2023-08-26
    javascript 数据类型 关键字
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作