七爪源码:人类的 JavaScript 数据类型

JS中数据类型的基础知识,适合初学者

数据类型是对数据的分类,它决定了该数据的可能值,以及您可以对它执行的操作。 JavaScript 有八种基本数据类型。

字符串

字符串是一组多个字符中的一个,可以包括数字、字母或符号。 字符串由引号(双引号或单引号)和反引号表示:

let string1 = ‘Hello, I am a string’let string2 = “I’m also a string”let string3 = `I, too am a string`

使用单引号或双引号在很大程度上是一个偏好问题,但当字符串需要使用变量或表达式时,需要使用反引号:

let string1 = ‘Hello, I am a string’let stringtroduction = `${string1}, and my name is string1`console.log(stringtroduction)// output: Hello, I am a string, and my name is string1

JavaScript 中的字符串是不可变的:它们一旦创建就无法更改(JavaScript 数据类型和数据结构 — JavaScript | MDN,2022)。 看起来改变字符串的操作实际上将变量指向一个新创建的值。

数字

数字用于表示整数、小数和指数。 在大多数情况下,它们类似于我们在日常生活中理解数字的方式。 很容易将数字 ‘3’ 的字符串值与数字 3 混淆; 但是从编程的角度来看,两者有很大的不同。

要表示数字,必须省略表示字符串的引号或反引号:

let num1 = 2let num2 = 56.65

与“真实世界”的数字相比,JavaScript 中的数字有几个怪癖。 值 Infinity、-Infinity 和 NaN 都被视为数字(您可以使用 typeof 运算符对此进行测试)。 NaN 是“Not a Number”的缩写,当您尝试对(等待它)不是数字的值执行数学运算时会出现。 当其他有效的数值运算返回非实数的结果时(例如,尝试计算负数的平方根),结果也将为 NaN。

JavaScript 中的数字也有大小限制。 现实世界中的数字可以是任意大小,但在 JavaScript 中并非如此,其中数字仅限于 -(²⁵³ — 1) 和 (²⁵³ — 1) 之间的值。 对于其他一切,都有 BigInt。

大整数

这些与数字相似,但有一些关键区别。 BigInt 可以处理任何大小的数字。 BigInt 值可以通过将 `n` 附加到值或使用 `BigInt()` 函数来表示:

let largeNumber = 9007199256352991nlet largerNumber = BigInt(9107199256352991)

但是,BigInt 无权访问 Math 对象中包含的函数。 它们也不能与操作中的数字一起使用:这将需要类型强制,这可能会降低 BigInt 值的精度。

布尔值

这是一种逻辑数据类型,存在于许多编程语言中。 这种类型的数据可以具有以下两个值之一:`true` 或 `false`:

let yay = truelet nay = false

这些通常用于比较语句:

let x = 15let y = 21let result = x y // result = false

不明确的

undefined 类型表示尚未定义的值,例如尚未声明值的变量:

let xconsole.log(`No value has been declared, so x = ${x}.`)// output: No value has been declared, so x = undefined.

null

null 数据类型表示空值或未知值,或“故意缺少任何对象值”。 这在概念上类似于 undefined,但必须显式分配。 简而言之,null 可以分配“无值”(按照惯例,不应该以这种方式使用 undefined)。

function closeAccount(user) { user.balance = null

在上面的示例中,`null` 用于在关闭用户帐户时覆盖现有余额值。 由于这与余额为 0 的帐户不同,因此余额金额被故意覆盖为“非价值”。

象征

符号数据类型的实例是唯一的:它们不能重复。 它们可用作唯一标识符,并避免与对象和函数发生名称冲突。 与字符串一样,符号可以用作对象属性的键(这是唯一可以以这种方式使用的两种数据类型)。

为了更好地理解符号的“唯一性”,请考虑以下几点:

console.log(‘string’ === ‘string’) // result: trueconsole.log(Symbol(‘string’) === Symbol(‘string’)) // result: false

比较两个字符串的结果是“真”,但比较具有相同值的两个符号会产生“假”:虽然这两个符号具有相同的值,但它们在内存中是唯一的实例,永远不可能等价。

目的

JavaScript 中的对象是键值对的集合,称为属性。 如上所述,键可以是字符串或符号,但是关联的值可以是任何数据类型。

let example = {word: ‘string’,number: ‘12’,existence: true,}

上面的代码片段显示了一个具有多个属性(包括字符串、数字和布尔值)的对象的声明。 这些属性可以通过点表示法(例如,object.property)或类似数组的表示法(例如,object[‘property’])来访问。 这是两者的演示,使用上面声明的“示例”对象:

if (example.existence) {console.log(example[‘word’] + example.number)}// output: string12

原始数据类型 vs 对象 vs 引用数据类型

JavaScript 中的数据类型通常分为两类:原始数据类型和对象。 可以预见,对象是指对象数据类型,而讨论的其他七种数据类型属于原始数据类型。

您可能会遇到的另一个分组是原始数据类型和引用数据类型。

关注七爪网,获取更多APP/小程序/网站源码资源!

郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
(0)
用户投稿
上一篇 2022年6月26日
下一篇 2022年6月26日

相关推荐

  • 王者荣耀:同样都是单挑王者,典韦和铠有啥不同呢?我们该玩谁呢

    文/静海君 作为一个钟爱于战士的老Moba玩家,典韦和铠一直是我的最爱。虽然随着版本的变迁,典韦和铠的胜率都很一般,但只要提到爆发伤害,提到单挑王者,大家依然会想起他们两个。 所以…

    2022年8月1日
  • 发现一新型重组病毒!可能人畜共患传播

    据中国疾病预防控制中心,近日,香港大学公共卫生学院发表的一项研究指出,在中国,H9N2禽流感病毒正在感染猪,并与猪流感病毒发生重组。依据已有研究,该病毒株具有人畜共患病传播的可能性…

    2022年7月10日
  • 靶场科普 – 字符型注入类型5

    本文由“东塔网络安全学院”总结归纳 靶场介绍 字符型注入类型5 今天,给大家介绍一下“东塔攻防世界”其中的一个靶场:“字符型注入类型5”。 一、实验介绍 1.SQL注入介绍 SQL…

    2022年7月12日
  • 第五届数字中国建设峰会主论坛举行

    来源:台海网 23日,第五届数字中国建设峰会主论坛举行,中国科学院院士徐冠华,省领导罗东川、张彦、王永礼、刘建洋,以及来自中央和各地的政府部门领导、知名专家学者、领军企业代表负责人…

    2022年8月2日
  • 世界首富马斯克大脑上传云端,与“虚拟自己”交谈过!人类永生?

    #马斯克# 虽然宣布自己不会再买推特了,但是还是继续热情发推特。今天又通过推特宣布 已经将自己的大脑上传到云端,并已经与自己的虚拟版本交谈过。原来这是马斯克在推特上回答狗狗币联合创…

    2022年7月21日
  • 王者之路风云传奇-侠侣攻略

    哈喽,大家好!小编这期给大家介绍一下王者之路风云版中的侠侣攻略。王者之路三大职业,传承经典,相爱相杀,携手共创传奇战绩。 随着王者之路主线任务的进行,在刷怪的过程中可以集齐解锁侠侣…

    2022年8月17日
  • 马斯克:建1000枚以上星舰送人去火星,是现代版诺亚方舟

    澎湃新闻记者 张静 6月5日,马斯克在社交媒体上回复网友火星殖民计划时表示,要建造1000枚以上星舰运送生命到火星,并形容这“基本上就是非常现代的诺亚方舟”。 当天,马斯克在社交媒…

    2022年8月16日
  • SpringBoot整合Mybatisplus

    Mybatis-Plus 实战教程 1.什么是Mybatis-Plus 1.1 什么是mybatis-plus 官网:www.mybatis-plus.com/guide/ MyB…

    2022年6月17日
  • 《迷失》评测:你想在赛博朋克世界做一只可爱猫猫吗?

    文:Along 省流助手:如果存在所谓的“轻度游戏”,《迷失》(Stray)应该十分符合其定义。本作流程不算长、立意简洁易懂、玩法也不复杂,在可爱猫猫加持下,它成为了一款适合绝大多…

    2022年7月30日
  • 8月23日区块链资讯汇总(四)

    【16:59】【SudoswapNFT交易量突破10万枚】金色财经报道,据DuneAnalytics数据显示,Sudoswap平台的NFT交易量已突破10万枚,本文撰写时为102,…

    2022年8月25日

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息