JavaScript对象、基本类型和字面值之间的区别

问题

经常会遇到诸如对象(object)、基本类型(primitive)和字面值(literal)这样的术语。这三者有何区别,又如何分辨

解决方案

字面值表示某种特定类型的一个值,例如,字符串(String)、浮点数(Number)或者布尔值(Boolean)

"this is a string"
1.345
true

基本类型是特定的数据类型的一个实例。有5种这样的类型:String、Number、Boolean、null和undefined。

在这些基本数据类型中,有3个有对应的构造方法对象:String、Number和Boolean,提供了对内建属性和方法的访问,允许做一些简单赋值和顺序访问之外的事情。

var str = "this is a string"
str.length

讨论

声明一个变量的时候,就想是在操作简单的字符串或者数字一样

如果不是依赖于JavaScript对象的话,可以给变量分配一个字符串、数字或者布尔值,随后访问。然而,如果要对变量做更多操作的话,则需要使用该数据类型所对应的JavaScript对象及属性。

var str = "this is a string";
str.length

当代码在一个字面量值上访问一个String对象的属性的时候,会创建一个新的String对象,并且其值设置为变量中所包含的字符串的值。访问并打印length属性,并且丢掉新创建的String对象

JavaScript中有5种基本数据类型:字符串、数值、布尔类型、null和undefined,只有字符串、数值和布尔类型有对应的构造方法对象。字符串、浮点数、证书和布尔值都是字面值

可以使用一个字面值表示或者使用该对象而不带new操作符,从而创建基本类型的布尔值、字符串和数值变量。

如果要实例化一个对象,则需要使用new操作符

当使用严格相等来比较一个对象示例和一个字面值得时候,可以快速区分出一个基本数据类型额一个对象实例。

基本类型变量严格等于字面值,而对象实例则不会。因为基本类型是根据值来进行比较的,而值是字面值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值