美文网首页WEB前端程序开发程序员
WEB前端学习:了解ES6新特性

WEB前端学习:了解ES6新特性

作者: web前端小辰 | 来源:发表于2018-06-01 22:08 被阅读59次

Web前端开发工程师是一个很新的职业,是从事Web前端开发工作的工程师。主要进行网站开发,优化,完善的工作。网页制作是Web 1.0时代的产物,那时网站的主要内容都是静态的,用户使用网站的行为也以浏览为主。

给你学习路线,html-css-js-ajax-jq-html5-css3-bootstrap-vue.js-node.js-react.jd

对象是JavaScript语言的基础数据类型,相信没有前端开发者没有用过对象。今天我来和大家介绍一下ES6中对象的新特性。

小编推荐一个学Web前端的学习裙【 五四七,三零二,三八三 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

1.属性初始值的简写

ES5中使用构造函数生成对象的方式应该是这样:

var genObj = function(name,num){ return { name: name, num: num }}

ES6中可以只初始化属性名称,JavaScript引擎会去寻找同名的变量。就拿上面的例子来说,可以在ES6中写成:

let genObj = function (name, num){ return {name,num}}

另外函数可以不写成键值对的形式。

let obj = { test: "123", testFunc(){console.log("")}}

相等于:

let obj = { test: "123", testFunc: function(){console.log("")}}

2.可计算属性名

之前对象的键值只能是常量,ES6支持变量作为键值。我们举个栗子就好明白了。

let test = "hello";let obj = { [test]:"11222"}console.log(obj[test])console.log(obj["hello"]);

所以使用变量和常量都是可以获取到value的值。其实这里也只是做了一个转换,真正的键值还是变量的值。

小编推荐一个学Web前端的学习裙【 五四七,三零二,三八三 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

3.Object.is()

Object.is()方法接受两个参数,判断两个参数的类型和值是否都相等。作用和恒等===很类似。不同的地方有两点:

1.我们都知道在JavaScript中NaN是和任何值都不等的,包括其自身。但是Object.is(NaN, NaN)返回的值为true。

2.JavaScript判断正零+0 和 负零 -0是恒等的,即 +0 === -0。但是Object.is(+0, -0)返回的值为false。

使用恒等判断还是使用Object.is()判断取决于实际场景和个人喜好,不一定是Object.is()就一定优于恒等。

4.Object.assign()

这是一种可以复制对象属性到另一个对象的方法,专业的词叫做混合Mixin。类似的函数早就出现在了各种JavaScript库中,ES6中新增了官方版本的函数而已。

该函数可以接受任意多的源对象,第一个参数是待接收属性的对象,之后的参数都是提供属性的源对象。我们举个栗子演示一下:

let assignObj = {};let objA = {a:1,b:2,c:3};let objB = {c:1,d:3,e:6}Object.assign(assignObj,objA,objB);console.log(assignObj);

小编推荐一个学Web前端的学习裙【 五四七,三零二,三八三 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

有一点不知道大家注意到没有,objA和objB都有属性c。但是最终整合到assignObj对象上的是objB的c属性,这说明后面的属性会覆盖已有的相同属性。

ES6中对对象还有一些改进比如定义了枚举自有属性的顺序,提供了改变对象原型的方法 setPrototypeof() 等等。总的来说这次对对象的改动不是很大,有兴趣的同学可以继续研究。

相关文章

  • WEB前端学习:了解ES6新特性

    Web前端开发工程师是一个很新的职业,是从事Web前端开发工作的工程师。主要进行网站开发,优化,完善的工作。网页制...

  • web前端ES6/7/8新特性

    ES6中新增了哪些数据类型?Symbol类型(基本)Set类型(复杂)Map类型(复杂)WeakSet类型(复杂)...

  • ES6新特性

    大家好,我是IT修真院成都分院第8期的学员,一枚正直纯洁善良的WEB前端程序员。今天给大家分享一下ES6新特性。 ...

  • [ES6-新一代的javascript]

    8个ES6中的新特性 compat-table ES6新特性概览

  • ES6特性学习(零)

    why? 因为最近对前端开发很有兴趣,所以搞一个关于 ES6 新特性的系列来记录学习过程中的要点。 what? 这...

  • 零基础如何成为一个黑客

    我建议先从web安全开始入门,学习web安全首先就要了解前端知识。 Html/css/js/php/都是学习前端所...

  • 入门ES6基础内容二

    下面带大家继续介绍ES6的新特性 开启ES6的入门学习 简写模式 现在很多的框架多使用了ES6的简写特性(小程序,...

  • 好程序员Web前端培训分享一些小知识!

    好程序员Web前端培训分享一些小知识!为了帮助正在从事Web前端工作和正在学习Web前端的小伙伴更好的了解Web前...

  • 无标题文章

    #Web前端 - web前端是什么 - 定义 - 职责 - web前端基础知识和学习路线 - web前端学习的...

  • 南京前端工程师培训需要注意什么?万和计算机培训告诉你

    Web前端强大特性以及高薪就业的前景,让零基础的学员想学习;有基础的人员想继续深造,其他行业人员看好Web前端前景...

网友评论

    本文标题:WEB前端学习:了解ES6新特性

    本文链接:https://www.haomeiwen.com/subject/lrqlsftx.html