es6 2017
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的更多相关文章
- 学习js都学习什么?
前言:js(javaScript)是面向对象(OOP)的编程语言,目前不仅仅是客户端语言了,基予node可以做服务器端程序,那我们学习js都学习什么? 学习js,我们学习它的几部分组成 1.ECMAS ...
- Webpack+React+ES6 最新环境搭建和配置(2017年)
刚刚学习React,发现React在ES6下的语法才是本体,结合ES6新的语言特性,使组件化开发显得更加直观.而且现在的Angular2也开始使用支持强类型的TypeScript,转译(transpi ...
- 2017年"程序媛和工程狮"绝对不能忽视的编程语言、框架和工具
2017年"程序媛和工程狮"绝对不能忽视的编程语言.框架和工具 在过去的一年里,软件开发行业继续大踏步地向前迈进.回顾 2016 年,我们看到了更多新兴的流行语言.框架和工具, ...
- 【转】2016/2017 Web 开发者路线图
链接:知乎 [点击查看大图] 原图来自LearnCodeAcademy最火的视频,learncode是YouTube上最火的Web开发教学频道,介绍包括HTML/CSS/JavaScript/Subl ...
- ES6(一)ECMAscript6介绍
nvm-windows Node.js是JavaScript语言的服务器运行环境,对ES6的支持度比浏览器更高.通过Node,可以体验更多ES6的特性.建议使用版本管理工具nvm,来安装Node,因为 ...
- 2017 年值得一瞥的 JavaScript 相关技术趋势
跨年前两天,Dan Abramov在Twitter上提了一个问题: JS社区毫不犹豫的抛出了它们对于新技术的预期与期待,本文内容也是总结自Twitter的回复,按照流行度降序排列.有一个尚未确定的小点 ...
- ES6 入门系列 - 函数的扩展
1函数参数的默认值 基本用法 在ES6之前,不能直接为函数的参数指定默认值,只能采用变通的方法. function log(x, y) { y = y || 'World'; console.log( ...
- ES6 带来了什么
http://www.kuqin.com/shuoit/20150928/348317.html 这篇文章介绍了javascript 的大致历史 http://www.css88.com/archi ...
- ES6之"let"能替代"var"吗?
译者按: 使用let的确会比var安全很多. 原文: Why You Shouldn't Use 'var' Anymore 译者: Fundebug 为了保证可读性,本文采用意译而非直译. 我已经使 ...
随机推荐
- 题解-AtCoder-agc006C Rabbit Exercise
Problem AtCoder & bzoj 题意:数轴上有\(n\)个点(初始坐标均为整数),编号为\(1\)~\(n\).给出\(m\)个操作. 每个操作会选定点\(a\),然后随机在点\ ...
- 转-CSRF——攻击与防御
0x01 什么是CSRF攻击 CSRF是Cross Site Request Forgery的缩写(也缩写为XSRF),直译过来就是跨站请求伪造的意思,也就是在用户会话下对某个CGI做一些GET/PO ...
- Sublime Text 3安装Package Control快速建立html5和xhtml文档
Sublime Text 3安装Package Control快速建立html5和xhtml文档 先关闭Sublime text 3:第1步:下载sublime_package_control-mas ...
- vue-cli(vue脚手架)超详细教程
都说Vue2简单上手容易,的确,看了官方文档确实觉得上手很快,除了ES6语法和webpack的配置让你感到陌生,重要的是思路的变换,以前用jq随便拿全局变量和修改dom的锤子不能用了,vu ...
- python中__init__ ,__del__ &__new__
__new__ __new__方法是用来创建对象,__new__方法需要有一个返回值,这个返回值表示创建出来的对象的引用 __init__ __init__方法在类的一个对象被建立时 ,马上执行.__ ...
- Jmeter下载安装配置及使用(windows)
1 前言 仅作为记录使用. 2 步骤 2.1 下载地址:http://jmeter.apache.org/download_jmeter.cgi 2.2 选择binary版本即可:apache-jme ...
- 反转链表算法Java实现
之前遇到反转链表的算法,比较晦涩难解,但其实挺简单的. 目标:将一个顺序链表反转. 思路:用三个辅助节点,每次实现一个节点的指向反转,即他的后继变为他的前驱. 三个辅助节点: p q r 按顺序 ...
- PID控制器开发笔记之九:基于前馈补偿的PID控制器的实现
对于一般的时滞系统来说,设定值的变动会产生较大的滞后才能反映在被控变量上,从而产生合理的调节.而前馈控制系统是根据扰动或给定值的变化按补偿原理来工作的控制系统,其特点是当扰动产生后,被控变量还未变化以 ...
- STM32L476应用开发之六:电池SOC检测
便携式设备由于使用需求而配备了锂电池,但使用过程中需要掌握电源的状态才能保证设备正常运行.而且在电池充放电的过程中,监控电池的充放电状态也是保证设备安全的需要. 1.硬件设计 电池SOC检测是一个难题 ...
- Oracle 网络监听配置管理
Oracle 网络配置与管理 详细信息可以参考以下信息: [学习目标] 一.原理解析 二.配置侦听器(LISTENER) 三.配置客户端网络服务名 四.关于注册 五.查询某服务是静态还是动态注册 Or ...