ES6_Image.png
不废话,程序员时间宝贵,精髓拿去不谢
说实话,ES6(ECMAScript2015)刚出现是有点抵触的。由于笔者对swift有了解,发现ES6 新特效和swift很像 。它包含了一些很棒的新特性,可以更加方便的实现很多复杂的操作,提高开发人员的效率。
当然你写ES6,由于浏览器的限制,需要使用babel 或其他的编译器转换成ES5
<br />
1.Default Parameters(默认参数) in ES6 (和swift 里面一样的)
var cat = function (age, color, type) { var age = age || 2; var color = color || 'red'; var type = type || 'bosimao'; console.log(age,color,type) //2 "red" "bosimao"}var _cat = function(age=2,color='_red',type='_bosimao'){ console.log(age,color,type) //2 "_red" "_bosimao"} cat() _cat()
2.Template Literals(模板对象) in ES6(swift 字符串插值)
//字符串插值 , 用于字符串相连var a = '代表A';var b = '代表B';var _all = '我既' + a + '也' + b;var all = `我既${a}也${b}`console.log(_all,all)//我既代表A也代表B 我既代表A也代表B
3.Destructuring Assignment (解构赋值)in ES6
let oA = {a: 1 , b:()=>{return 3},c : 12};var { a , b } = oA //a 为1 , b为函数
4.箭头函数
//箭头函数,综合了插值和默认值var aFn = (a,b=8)=>{ return `function , arguments ${a},${b}`}
5. Classes (类)in ES6
class 记住 类首字母大写的规范 个人很喜欢这个OOP编程风格
class Abc { constructor(language, length) { this.name = 'ABC'; this.language = language this.length = length } getLanguage(){ return `${this.language}` } nameString(){ return 'abc' } }var ac = new Abc('english',26);class DEF extends Abc { //对于父类需要初始值的,继续的子类直接不报错,是undefined , 这个在swift 会报错,很赞的功能 //可以继承且重写 ,只不过swift 函数重写需要写 override 在函数前面 getLanguage(){ return 'DEF' } }var df = new DEF()//english ABCconsole.log( ac.getLanguage() , ac.name)//DEF ABC undefinedconsole.log(df.getLanguage() , df.name,df.language)
6.Module 模块化 export,import 命令
//方式1.
export var name = 'name'
//方式2.
const name = 'name'export name
//方式3.
// people.jslet name = (name) => { return `name is : ${name}`}const age = "27"export {name,age} 使用的时候是import {name, age} from './people.js'
整体输入,module指令
//people.jsexport function getName(name) {return `${name} alisa is liujunbin`}export function getAge(){return '27'; } import * as p from './people.js'p.getName('baron')
export default
不用关系模块输出了什么,通过 export default 指令就能加载到默认模块
不需要通过 花括号来指定输出的模块,一个模块只能使用 export default 一次
//people.js function getAge() {} export default getAge;
// 导入的时候不需要花括号
import test from './people.js';
一条import 语句可以同时导入默认方法和其它变量.
import default, { other } from 'xxx.js';
7.Promise
详情移步至
简书地址 ES6 的 Promise实践
http://www.jianshu.com/p/c0b6381f6251
github 地址
https://github.com/976500133/Web-Library/blob/master/10.es6-promise%E4%BB%8B%E7%BB%8D.html
文章稿纸的地址详见github
https://github.com/976500133/Web-Library
其他的一些特性暂时不说了,使用的不多
作者:二月长河
链接:https://www.jianshu.com/p/4f8dc0bc6903
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦