http://es6.ruanyifeng.com/

18.async  20.Decorator 属于ES2017, nodejs 未实现

21.Module 中的 import export  nodejs未实现,浏览器也未实现,只能babel 等转码

ES6 解构赋值应用

/*  解构赋值
* let [a,b,c] = [1,2,3,4]
* console.log(a); // 1
* */// 【1】返回对象
function test(a,b) {
return {
jia:a+b,
jian:a-b,
cheng:a*b,
chu:a/b
}
}
let {jia,jian,cheng,dd}=test(12,4) // 这里的变量要跟上面一致 console.log(test(12, 4));
console.log(test(12, 4).jia); //
console.log('和: '+jia);
console.log('差: '+jian);
console.log('积: '+cheng);
console.log('除: '+dd); // 修改变量的结果是 undefined // 【2】 函数参数可以调换顺序
function f2({name,url,age}) {
console.log('my name is ' + name + ',my age is ' + age + ',my url is ' + url);
}
f2({url:'baidu.com',age:12,name:'kang'})
/* 【3】模板字符串应用  模板使用`` ,变量使用 ${name} */
var name = 'kang';
$(".b").append(`
<div>
<span>${name}</span>
<h1>sss</h1>
</div>
`)
// 1.解构key要一致
let {a, b} = {a: 121, b: 20};
console.log(a); // key 要一致
// 2. ...剩余参数
function show (a, b, ...arr) {
console.log(a, b, arr);
}
show(12, 3, 4, 5, 6); // 3.map返回新数组
let arr = [1, 2, 3, 4, 5];
let newArr = arr.map(val => {
return val * 2;
});
console.log(newArr); // 4.reduce 累积值 let arr3 = [1, 3, 4, 5];
// tmp 是累积值 前面值的和
// item 是当前值
// 求和
let res = arr3.reduce((tmp, item, index) => {
return tmp + item;
});
console.log(res);
let res2 = arr3.reduce((tmp, item, index) => {
if (index < arr3.length - 1) {
return tmp + item; // 一直累加
} else {
// 累积到最后求平均值
return (tmp + item) / arr3.length;
}
});
console.log(res2); // 5.startswith let url = 'http://xxx';
if (url.startsWith('http://')) {
console.log('is url');
} else {
console.log('no url');
} // 6 class
class Person {
constructor (name,age){
this.name=name;
this.age=age;
}
show(){
console.log(this.name);
}
}
class Worker extends Person{
constructor (name,age,job){
super(name,age); // 继承属性
this.job=job;
}
showJob(){
console.log(this.job);
}
}
let w = new Worker('kang',12,'web')
w.show(); // 方法自动继承
w.showJob()

es6 2017的更多相关文章

  1. 学习js都学习什么?

    前言:js(javaScript)是面向对象(OOP)的编程语言,目前不仅仅是客户端语言了,基予node可以做服务器端程序,那我们学习js都学习什么? 学习js,我们学习它的几部分组成 1.ECMAS ...

  2. Webpack+React+ES6 最新环境搭建和配置(2017年)

    刚刚学习React,发现React在ES6下的语法才是本体,结合ES6新的语言特性,使组件化开发显得更加直观.而且现在的Angular2也开始使用支持强类型的TypeScript,转译(transpi ...

  3. 2017年"程序媛和工程狮"绝对不能忽视的编程语言、框架和工具

      2017年"程序媛和工程狮"绝对不能忽视的编程语言.框架和工具 在过去的一年里,软件开发行业继续大踏步地向前迈进.回顾 2016 年,我们看到了更多新兴的流行语言.框架和工具, ...

  4. 【转】2016/2017 Web 开发者路线图

    链接:知乎 [点击查看大图] 原图来自LearnCodeAcademy最火的视频,learncode是YouTube上最火的Web开发教学频道,介绍包括HTML/CSS/JavaScript/Subl ...

  5. ES6(一)ECMAscript6介绍

    nvm-windows Node.js是JavaScript语言的服务器运行环境,对ES6的支持度比浏览器更高.通过Node,可以体验更多ES6的特性.建议使用版本管理工具nvm,来安装Node,因为 ...

  6. 2017 年值得一瞥的 JavaScript 相关技术趋势

    跨年前两天,Dan Abramov在Twitter上提了一个问题: JS社区毫不犹豫的抛出了它们对于新技术的预期与期待,本文内容也是总结自Twitter的回复,按照流行度降序排列.有一个尚未确定的小点 ...

  7. ES6 入门系列 - 函数的扩展

    1函数参数的默认值 基本用法 在ES6之前,不能直接为函数的参数指定默认值,只能采用变通的方法. function log(x, y) { y = y || 'World'; console.log( ...

  8. ES6 带来了什么

    http://www.kuqin.com/shuoit/20150928/348317.html  这篇文章介绍了javascript 的大致历史 http://www.css88.com/archi ...

  9. ES6之"let"能替代"var"吗?

    译者按: 使用let的确会比var安全很多. 原文: Why You Shouldn't Use 'var' Anymore 译者: Fundebug 为了保证可读性,本文采用意译而非直译. 我已经使 ...

随机推荐

  1. motor helper

    # -*- coding: utf-8 -*- # @Time : 2019-02-13 10:44 # @Author : cxa # @File : mongohelper.py # @Softw ...

  2. 021_nginx动态upstream检查

    GET: 请求指定的页面信息,并返回实体主体.HEAD: 只请求页面的首部. #参考:http://tengine.taobao.org/document_cn/http_upstream_check ...

  3. 前端 ----jQuery的属性操作

    04-jQuery的属性操作   jquery的属性操作模块分为四个部分:html属性操作,dom属性操作,类样式操作和值操作 html属性操作:是对html文档中的属性进行读取,设置和移除操作.比如 ...

  4. [转]Fiddler模拟post四种请求数据

    1 前言 仅作为记录使用. 2 内容 post请求主体详解: 对于get请求来说没有请求主体entity-body.对于post请求而言,不会对发送请求的数据格式进行限制,理论上你可以发任意数据,但是 ...

  5. 发布python模块

    首先要写好模块和setup.py,把他们放在同一个文件夹下,图例是放在了stuManage文件夹下,setup.py具体内容如下: 然后打开终端,切到stuManage文件夹下开始发布 现在就可以跟p ...

  6. cocos2dx-lua控制台报错集合

    1.invalid 'cobj' in function 'lua_cocos2dx_Node_getLocalZOrder' 这个报错是lua的变量还在,但是他底层对应的C++对象已被销毁.

  7. 12c rac On redhat 7

    1  准备工作 1.1   关于GRID的一些变化 1.1.1  简化的基于映像的Oracle Grid Infrastructure安装 从Oracle Grid Infrastructure 12 ...

  8. 计算机中K到底是1000还是1024?

    1000和1024的争论,其实是传输领域和存储领域概念不清引起的;在传输领域,1秒钟传输多少字位(即b,bit),肯定是用10进制表示,所以是1kb=1000b,即1秒钟传输1000个比特位;就好像: ...

  9. struts2 过滤器和拦截器的区别和使用

    java web 过滤器和拦截器的区别和使用  1.1 什么是拦截器:      拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然 ...

  10. Java 开源博客 Solo 2.5.0 发布

    Java 开源博客 Solo 2.5.0 发布 Solo 是一款一个命令就能搭建好的 Java 开源博客系统,如果你想开个独立博客,请一定不要错过! 2.5.0 版本主要支持了 Markdown/JS ...