JavaScript数据类型是什么

  介绍

小编给大家分享一下JavaScript数据类型是什么,希望大家阅读完这篇文章后大所收获、下面让我们一起去探讨吧!

最近面试了三个开发,他们都没有说清楚JS的基本类型有哪些。而且往往错误的说了一些C语言的数据类型,例如int,浮点数,双之类的数据类型。

<强>无论什么语言,熟练掌握数据类型都是这门语言最根本的知识点

JS数据类型分为两类,一类是基本类型,他们有

    <李> <李>字符串数量 <李>布尔李 <李>定义 <李>空 <李>符号

JS的基本类型就这么几个,除此之外,其他的类型都是对象。

数量类型

在JS没有整型,浮点数,或者两类型的数值,所有数值统一叫做数量类型。

JS使用IEEE754格式表示整数和浮点数,一般来说整数占用了32位,而浮点数数占用64位,因为浮点数占用的内存空间是整数的两倍,所以JS会适当的把浮点数转化为整数储存。

4.0===4//真正的

数值类型都是有大小范围的

。MAX_VALUE//1.7976931348623157 e + 308   号码。MIN_VALUE//5 e - 324   号码。MAX_SAFE_INTEGER//9007199254740991   号码。MIN_SAFE_INTEGER//-9007199254740991

浮点数一般都是计算结果不准确的,这不是JS的问题,所有语言中都有这个问题。

计算<代码> 0.1 + 0.2===0.3 这个结果永远是假的。

要比较浮点数是否相等,可以采用<代码>数量。ε> Math.abs (0.1 + 0.2 - 0.3) & lt;号码。ε//真正的

数量类型中有三个比较特殊的兄弟

    <李>无穷当数值超过数量类型的最大值,他就会变成正无穷李 <李>无穷当数值类型小于多类型的最小值,就会变成负无穷李 <李>南南的意思是它不是一个数值,例如某个数值除以0,一般语言都会报的错,但是js不会,而是该变量的值会变成南。

数值类型一旦变成这三个兄弟,就无法参与后续的数值运算。

字符串类型

从静态语言过来的同学,遇到字符串就会问个问题:请问你能装多少个字符串呢?

字符串傻傻一笑,说:自从我诞生以来,从来就没被装满过!

2016年ECMAScript (ed。7)建立了一个最大长度为2 ^ 53 - 1的元素。以前,没有指定的最大长度。在Firefox中,字符串的最大长度2 <强> 30 - 2 (~ 1 gb)。在65年之前版本Firefox,最大长度是2 28 - 1 (~ 256 mb)。,——MDN

布尔

布尔值很简单,就假和真两个值。但是很多人不能完全回答出,哪些值会被转换成假的。

除了下面几个能够被转成假的值,其他都是真的。

假   & # 39;& # 39;   南   未定义的   0,0,+ 0   空

定义和空

定义表示一个变量被定义了,但是没有被赋值.null表示这个变量根本没被定义。总之,无论是定义和空,他们基本上都是不能使用的值。

零类型有个特别的作用,比如有个对象,有很多属性,这时候你想把这个变量给标记为可以被垃圾回收了,那么就可以把它的值设置为零。

最熟悉的陌生人:,对象

我曾认为对象在js中是最简单的,而实际上,是我太天真。 //定义一个对象,如此简单   var={男孩   名称:& # 39;wangduanduan& # 39;   }
={var男人
  _sex: 1
  }
  Object.defineProperty(人,& # 39;性与# 39;,{
  设置:函数(v) {
  这一点。_sex=v===& # 39;男& # 39;吗?1:0
  },
  得到:函数(){
  返回。_sex===1 ?“男”;:“女”;
  }
  })
  不结盟运动。性//男

想一想如果把上面的_sex改成性会有什么问题?

JavaScript数据类型是什么