2021-05-06

JS基础之数据类型

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

开发工具与关键技术: DW JS

作者:易哲

撰写时间:2021/5/5

  • 数据类型

简介:ES5中有六种数据类型:Number、String、Boolean、undefined、object、Null

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

谷歌67版本中还出现了一种 bigInt。是指安全存储、操作大整数。(但是很多人不把这个做为一个类型)。其中object中包含了Data、function、Array常见的对象数据类型。

对不同数据类型进行说明:

~~“==”和“===”,表示相等和全等

  1. typeof操作符

下面是typeof使用例子:

在这个例子中,我们把一个变量和一个数值字面量传给了 typeof 操作符。注意,因

typeof 是一个操作符而不是函数,所以不需要参数(但可以使用参数)。

注意typeof在某些情况下返回的结果可能会让人费解,但技术上讲还是正确的。比如,调用typeof

null 返回的是"object"。这是因为特殊值 null 被认为是一个对空对象的引用。

{ } 、[ ] 输出 object。

 console.log( ) 输出 function。

  1. toString ( )  方法:

作用:其他类型转成 string 的方法

 支持:number、boolean、string、object 

 不支持:null 、undefined

 

检测数组类型的方法

instanceof  操作符

instanceof 运算符判断一个对象是否是另一个对象的实例。返回true或false

对象的 constructor 属性

4.string类型:String(字符串)数据类型表示零或多个 16 Unicode 字符序列。字符串可以使用双引号(")、 单引号(')或反引号(`)标示,因此下面的代码都是合法的:

字符串数据类型包含一些字符字面量,用于表示非打印字符或有其他用途的字符,如下表所示:

特点:ECMAScript 中的字符串是不可变的(immutable),意思是一旦创建,它们的值就不能变了。要修改

某个变量中的字符串值,必须先销毁原始的字符串,然后将包含新值的另一个字符串保存到该变量,

5.symbol类型:Symbol(符号)是 ECMAScript 6 新增的数据类型。符号是原始值,且符号实例是唯一、不可变的。

符号的基本用法符号需要使用 Symbol()函数初始化。因为符号本身是原始类型,所以 typeof 操作符对符号返回symbol

如果你确实想使用符号包装对象,可以借用 Object()函数:

 

  1. object类型:引用类型的值(对象)是引用对象的一个实例。在JS中,引用类型是一种数据结构,用于将数据和功能组织在一起引用类型有时也被称为对象定义,因为它们描述的是一类对象所拥有的属性和方法。

创建Object实例的的方式有两种。

第一种是使用new操作符后跟Object构造函数,如下:

第二种方法是使用对象字面量表达式,对象字面量是对象定义的一种简写形式,目的在于简化创建包含大量属性的对象的过程

  1. number类型:ECMAScript 中最有意思的数据类型或许就是 Number 了。Number 类型使用 IEEE 754 格式表示整数和浮点值(在某些语言中也叫双精度值)。不同的数值类型相应地也有不同的数值字面量格式。

Infinity和NaN

数值转换:3 个函数可以将非数值转换为数值:Number()parseInt()parseFloat()Number()是转型函数,可用于任何数据类型。后两个函数主要用于将字符串转换为数值。对于同样的参数,这 3个函数执行的操作也不同。

考虑到用 Number()函数转换字符串时相对复杂且有点反常规,通常在需要得到整数时可以优先使

parseInt()函数。

 

number转换规则:如果是布尔值,truefalse会被转换为10

如果是数字,只是简单的传入和返回

如果是null转换为0

如果是undefined转换为NaN

如果不传第二个参数,会按照八进制解析。在大多数情况下,我们要解析的都是十进制数值,因此始终将10作为第二个参数是非常必要的。

  1. 布尔类型:true&false。

在boolean中有种返回的是false:

在boolean中有种返回的是true

9.null和undefined的区别undefined表示系统级的、出乎意料的或类似错误的值的空缺;表示缺少值,此处应该有值,但没有定义。例如:var a;  a就会显示undefined

null表示程序级的、正常的或在意料之中的值的空缺; 一般多使用null。

以上这些值在布尔值转换中,会转换成false。但是这并不足以让你认为他们与false相等

 

即使 null undefined 有关系,它们的用途也是完全不一样的。如前所述,永远不必显式地将

变量值设置为 undefined。但 null 不是这样的。任何时候,只要变量要保存对象,而当时又没有那个对象可保存,就要用 null 来填充该变量。这样就可以保持 null 是空对象指针的语义,并进一步将其与 undefined 区分开来。

 

以上就是我所了解的js基础之数据类型,不足之处还请多多谅解,新手上道,还请指教!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值