ES学习笔记三:原始值与引用值

前言

此系列文章用于记录小萌新的ES6的学习经历如有什么错误或者不好的地方请各位大佬多多指教


一、原始值与引用值

1.1.基本用法

原始值:主要指的是单一的一个数据如:'abc' true 20等这种一般的值;

  • 在ES中一共有六种原始值:Undefined、Null、Boolean、Number、String和Symbol。

引用值:主要是若干个原始值或者引用值所组成的对象;

  • ES规定我们不能直接访问对象的存储空间;
  • 实际操作对象时,访问的是保存对象的内存地址,即该对象的引用。

代码如下(示例):

{
	let person1 = "小明";
	person1.sex = "男";
    console.log(person1); // 小明
    console.log(person1.sex); // undefined
	
	let person2 = new Object();
	person2.name = "小芳";
	person2.speak = function () {
  		console.log("你好,我是" + this.name); // 你好,我是小芳
	};
}
  • 原始值不可以创建属性和方法,而引用值可以

1.2.类型确定

如果我们想查看原始值的具体类型可以使用typeof()方法进行辨别

当然引用值也可以使用这个方法但是所有的引用值的类型都是Object,所以使用typeof()的意义并不大可以使用instanceof关键字来确定该引用值是不是某个构造函数的实例。

代码如下(示例):

{
    let a = 'haha';
    console.log(typeof(a)); // string

    let b = new Object();
    let c = [1, 2, 3];
    console.log(b instanceof Object); // true
    console.log(c instanceof Array); // true
}

1.3.基本包装类型

为了让用户更方便是用各个引用对象中的一系列方法,ES提供了三种特殊的引用类型:Boolean、Number和String。

每当用到某个原始值的方法或属性时,后台会创建一个相应的原始值包装类型的对象,从而暴露出操作原始值的各种方法。

{
	let a = "123456789";
	let b = a.substr(0, 5); // 12345
}

后台执行步骤:

  1. 创建一个包含了原始值的String类型的实例;
  2. 调用实例上的特定方法;
  3. 销毁该实例;

所以我们在使用原始值的时候也可以使用包装类型的各种方法。


总结

本文简单介绍了ES的原始值和引用值的一些基本用法和小特性。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值