vue技术学习es6 语法学习JavaScript 极简教程 ES6 ES7

ES6基础教程(第六节)——对象的扩展

2019-06-25  本文已影响5人  多平方

​es6对对象新增了部分便捷写法和简易函数,以更快的满足前端开发的需求,这一节我们从:简洁的表示法、属性名方法可以是表达式、

Object.is()函数、Object.assgin()函数来进行讲解;

此外还拓展一些例如:严格相等和抽象相等的区别、javascript面向对象的实现的内容

便捷写法:

var name="张三";

var age=18;

var person={name,age}

这就是便捷写法,不再需要写key值,直接将这个变量写入即可;

简易函数:

var person={

say(){

console.log("好好学习,天天向上")

}

}

简易函数直接在函数名后面加小括号和大括号,省去了“function”,表面省一点点,但积少成多就会节省很大的代码量。

Object.is()函数:比较两个值是否严格相等,或者说全等。

先介绍一下什么是严格相等,因为js是一种弱类型语言,变量类型可以随场景进行变化,这有好有坏,不能片面的叙述。

严格相等就是要求两个对比对象的数值和类型都是一致的。

var str="100";

var num=100;

str==num

//true

str===num

//false

说明str和num不是全等的,因为他们的类型不一致;

如果我们用Object.is()进行判断,即:

var str="100";

var num=100;

var num2=100;

Object.is(str,num);

//false

Object.is(num,num2);

//true

Object.assign()函数:将源对象的属性赋值到目标对象上。这么讲肯定是有点抽象的,咱们用案例说话,更直观更形象.

//这个充当目标对象

let target = {"a":1};

//这个充当源对象

let origin = {"b":2,"c":3};

Object.assign(target,origin);

//打印target对象出来看一下

console.log(target);

//结果 {a: 1, b: 2, c: 3}

同时,源对象也可以是多个:

//这个充当目标对象

let target = {"a":1};

//这个充当源对象

let origin1 = {"b":2,"c":3};

//这个充当源对象

let origin2 = {"d":4,"e":5};

Object.assign(target,origin1,origin2);

//打印target对象出来看一下

console.log(target);

//结果 {a: 1, b: 2, c: 3, d: 4, e: 5}

当多个对象中有相同的属性时候,会选择最后那个属性值作为最后的值。

//这个充当目标对象

let target = {"a":1};

//这个充当源对象

let origin1 = {"a":2};

//这个充当源对象

let origin2 = {"a":3};

Object.assign(target,origin1,origin2);

//打印target对象出来看一下

console.log(target);

//结果 {a: 3}

这个函数在实际开发过程中使用的非常多,所以大家要重点关注。

模拟面向对象编程有几个关键步骤:

1、构造函数;

2、给prototype对象添加属性和方法;

3、实例化;

4、通过实例化后的对象调用类的方法或者属性。

//构造函数模拟创建一个Dog类

function Dog(name){

this.name = name;

}

//把一些属性和方法,定义在prototype对象上

Dog.prototype = {

"type":"动物",

"say":function(){

    alert("名字叫"+this.name);

}

};

//实例化

var dog = new Dog('旺财');

//调用say方法

dog.say();

//结果:名字叫旺财

这节就吹到这里,期待与你一起进步!

公众号
上一篇下一篇

猜你喜欢

热点阅读