javascript数据类型

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

Undefined

Undefined类型只有一个值,即特殊值undefined。在使用var声明变量,但未对其加以初始化时,这个变量值就是undefined。

在 JavaScript 中,没有值的变量,其值是 undefined。typeof 也返回 undefined。

Null

Null类型是第二个只有一个值的数据类型。其特殊值就是Null。从逻辑角度上看,null是一个空的对象指针。而这也正是使用typeof操作符检测null值,会返回“object”的原因。

在 JavaScript 中,null 是 “nothing”。它被看做不存在的事物。

不幸的是,在 JavaScript 中,null 的数据类型是对象。

您可以把 null 在 JavaScript 中是对象理解为一个 bug。它本应是 null。

您可以通过设置值为 null 清空对象:

Boolean

即布尔类型,该类型有两个值:true、false。需要注意的是,Boolean类型的字面值true和false是区分大小写的。也就是说,True和False(以及其它的混合大小形式)都不是Boolean值,只是标识符。

Number

该类型的表示方法有两种形式,第一种是整数,第二种为浮点数。整数:可以通过十进制,八进制,十六进制的字面值来表示。浮点数:就是该数值中必须包含一个小数点,且小数点后必须有一位数字。

String

String类型用于表示由零或多个16位的Unicode字符组成的字符序列,即字符串。至于用单引号,还是双引号,在js中还是没有差别的。记得成对出现。

Object

Object数据类型,称为对象,是一组数据和功能(函数)的集合。可以用new操作符后跟要创建的对象类型的名称来创建。也可以用字面量表示法创建。在其中添加不同名(包含空字符串在内的任意字符串)的属性。

Symbol 类型

​ Symbol 类型的对象永远不相等,即便创建的时候传入相同的值。因此,可以用解决属性名冲突的问题(适用于多少编码),做为标记。

​ 这是 es6 新增的数据类型。

前端面试之js数据类型

BigInt 类型

​ Javascript 中的任意精度整数,可以安全存储和操作大整数。即始超出 Number 能够表示的安全整数范围。是 chrome 67中的新功能。

JS数据类型:基础概念

请注意:JS的数据类型有8种。

在ES5的时候,我们认知的数据类型确实是 6种:Number、String、Boolean、undefined、object、Null。

ES6 中新增了一种 Symbol 。这种类型的对象永不相等,即始创建的时候传入相同的值,可以解决属性名冲突的问题,做为标记。

谷歌67版本中还出现了一种 bigInt。是指安全存储、操作大整数。(但是很多人不把这个做为一个类型)。

JS 的数据类型有几种?

8种。Number、String、Boolean、Null、undefined、object、symbol、bigInt。

Object 中包含了哪几种类型?

其中包含了Data、function、Array等。这三种是常规用的。

JS的基本类型和引用类型有哪些呢?

基本类型(单类型):除Object。 String、Number、boolean、null、undefined。

引用类型:object。里面包含的 function、Array、Date。

JS 中 typeof 输出分别是什么

{ } 、[ ] 输出 object。

console.log( ) 输出 function。

注意一点:NaN 是 Number 中的一种,非Number 。

String String 字符串
Number Number 数据类型
Boolean Boolean 布尔型
Undefined Undefined 没有初始化、定义的值
Null Object 不存在的对象
NaN Number Number 中的特殊数值
Object Function

null 和 undefined 有什么区别

Null 只有一个值,是 null。不存在的对象。

Undefined 只有一个值,是undefined。没有初始化。undefined 是从 null 中派生出来的。

简单理解就是:undefined 是没有定义的,null 是定义了但是为空。

null 不存在的原因是什么?如何解决?

不存在的原因是:

​ 1、方法不存在

​ 2、对象不存在

​ 3、字符串变量不存在

​ 4、接口类型对象没初始化

解决方法:

​ 做判断处理的时候,放在设定值的最前面

== 和 === 有什么区别,什么场景下使用?

== 表示相同。

​ 比较的是物理地址,相当于比较两个对象的 hashCode ,肯定不相等的。

​ 类型不同,值也可能相等。

=== 表示严格相同。

​ 例:同为 null/undefined ,相等。

简单理解就是 == 就是先比较数据类型是否一样。=== 类型不同直接就是 false。

相关文章:

  • 2021-08-30
  • 2021-12-10
  • 2022-12-23
  • 2021-12-05
  • 2022-12-23
  • 2022-12-23
  • 2021-07-17
  • 2021-12-26
猜你喜欢
  • 2021-06-21
  • 2022-12-23
  • 2022-12-23
  • 2021-04-14
  • 2021-11-24
  • 2022-01-19
  • 2021-08-20
相关资源
相似解决方案