1. 函数参数默认值

不使用ES6

为函数的参数设置默认值:

  1. function foo(height, color)
  2. {
  3. var height = height || 50;
  4. var color = color || 'red';
  5. //...
  6. }

这样写一般没问题,但是,当参数的布尔值为false时,是会出事情的!比如,我们这样调用foo函数:

  1. foo(0, "", "")//因为0的布尔值为false,这样height的取值将是50。同理color的取值为‘red’。

使用ES6

  1. function foo(height = 50, color = 'red')
  2. {
  3. // ...
  4. }

2. 模板字符串

不使用ES6

使用+号将变量拼接为字符串:

  1. var name = 'Your name is ' + first + ' ' + last + '.' 

使用ES6

将变量放在大括号之中:

  1. var name = `Your name is ${first} ${last}.`;

ES6的写法更加简洁、直观。

3. 多行字符串

不使用ES6

使用“\n\t”将多行字符串拼接起来:

  1. var roadPoem = 'Then took the other, as just as fair,\n\t'
  2. + 'And having perhaps the better claim\n\t'
  3. + 'Because it was grassy and wanted wear,\n\t'
  4. + 'Though as for that the passing there\n\t'
  5. + 'Had worn them really about the same,\n\t'

使用ES6

将多行字符串放在反引号“之间就好了:

  1. var roadPoem = `Then took the other, as just as fair,
  2. And having perhaps the better claim
  3. Because it was grassy and wanted wear,
  4. Though as for that the passing there
  5. Had worn them really about the same,`

4. 解构赋值

不使用ES6

当需要获取某个对象的属性值时,需要单独获取:

  1. var data = $('body').data(); // data有house和mouse属性
  2. var house = data.house;
  3. var mouse = data.mouse;

使用ES6

一次性获取对象的子属性:

  1. var { house, mouse} = $('body').data()

对于数组也是一样的:

  1. var [col1, col2] = $('.column');

5. 对象属性简写

不使用ES6

对象中必须包含属性和值,显得非常多余:

  1. var bar = 'bar';
  2. var foo = function ()
  3. {
  4. // ...
  5. }
  6. var baz = {
  7. bar: bar,
  8. foo: foo
  9. };

使用ES6

对象中直接写变量,非常简单:

  1. var bar = 'bar';
  2. var foo = function ()
  3. {
  4. // ...
  5. }
  6. var baz = { bar, foo };

  

  1.  

 

 

实用的ES6特性的更多相关文章

  1. 9个常用ES6特性归纳(一般用这些就够了)

    ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了.它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应 ...

  2. 现在就可以使用的5个 ES6 特性

    小编推荐:掘金是一个高质量的技术社区,从 ECMAScript 6 到 Vue.js,性能优化到开源类库,让你不错过前端开发的每一个技术干货.各大应用市场搜索「掘金」即可下载APP,技术干货尽在掌握. ...

  3. 最常用的ES6特性(转)

    最常用的ES6特性 let, const, class, extends, super, arrow functions, template string, destructuring, defaul ...

  4. 最常用的ES6特性

    遇到了要写出es6新特性的题目,所以查阅了资料来总结一下,点击查看原文. 进入正题,最常用的ES6特性有:let, const, class, extends, super, arrow functi ...

  5. ES6特性

    一.ES6特性: let, const, class, extends, super, arrow functions, template string, destructuring, default ...

  6. 第四节:教你如何快速让浏览器兼容ES6特性

    写在正文前,本来这一节的内容应该放在第二节更合适,因为当时就有同学问ES6的兼容性如何,如何在浏览器兼容ES6的特性,这节前端君会介绍一个抱砖引玉的操作案例. 为什么ES6会有兼容性问题? 由于广大用 ...

  7. 解决浏览器兼容ES6特性

    为什么ES6会有兼容性问题? 由于广大用户使用的浏览器版本在发布的时候也许早于ES6的定稿和发布,而到了今天,我们在编程中如果使用了ES6的新特性,浏览器若没有更新版本,或者新版本中没有对ES6的特性 ...

  8. 解决让浏览器兼容ES6特性

    为什么ES6会有兼容性问题? 由于广大用户使用的浏览器版本在发布的时候也许早于ES6的定稿和发布,而到了今天,我们在编程中如果使用了ES6的新特性,浏览器若没有更新版本,或者新版本中没有对ES6的特性 ...

  9. js数组操作find查找特定值结合es6特性

    js数组操作find查找特定值结合es6特性

随机推荐

  1. .Net core 还原Nuget包失败的解决方法

    今天是2018最后一天了,真是神奇的一年啊,写个博客压压惊,来年继续加油吧..... 正文: 当我们打开.net core 项目时候,发现输出提示nuget包还原失败,这个时候首先要考虑.Net Co ...

  2. binlog2sql 用法

    binlog2sql 用法 使用场景:binlog2sql是根据mysql的binlog (要求格式是row)反解析出delete,update操作,对误操作数据进行还原. https://githu ...

  3. 转:30分钟了解Springboot整合Shiro

    引自:30分钟了解Springboot整合Shiro 前言:06年7月的某日,不才创作了一篇题为<30分钟学会如何使用Shiro>的文章.不在意之间居然斩获了22万的阅读量,许多人因此加了 ...

  4. 使用 PlantUML 高效画图

    PlantUML 是一种程序员看了就会爱上的画图方式:自然,高效. 支持快速绘制: 时序图 类图 用例图 活动图 状态图 等等 安装教程 Intellij IDEA中安装 & 使用PlantU ...

  5. 解决gradle下载慢的问题(转)

    问题一:新建项目下载gradle慢的问题 解决方法: 打开用户主目录 linux平台/home/用户名/.gradle windows平台c:\Users\用户名\.gradle macos平台/Us ...

  6. telent connection refused

    1.问题场景 Centos7 做flume案例时,telnet hadoop-senior03.itguigu.com 44444 总是Connection redused, Trying 192.1 ...

  7. SSH Secure :Algorithm negotiation failed,反复提示输入password对话框

    在嵌入式开发中,SSH Secure File Transfer Client 软件使用,方便了windows和linux之间文件拷贝,尤其是多台主机状况下. 最近装了Ubuntu 16.0.4,在V ...

  8. Python学习 :函数

    函数 函数(Functions) 是指可重复使用的程序片段.它们允许你为某个代码块赋予名字,允许你通过这一特殊的名字在你的程序任何地方来运行代码块,并可重复任何次数.这就是调用(Calling)函数. ...

  9. 怎样才能使用ChipScope 加入被优化掉的信号

    在调试过程中常常遇到的一个问题就是,xilinx工具在逻辑综合的过程中,将自己RTL代码中的很多变量都优化掉了,使得调试的抓信号的过程很纠结.以下是解决方法: 1.右键synthesis,在综合选项里 ...

  10. To Support High-Density Retina Displays

    http://www.sitepoint.com/support-retina-displays/ http://www.leemunroe.com/designing-for-high-resolu ...