ECMAScript 6.0
1 前端演进
1.1 前端三要素
-
html
超文本标记语言(Hyper Text Markup Language),标准通用标记语言下的一个应用。HTML 不是一种编程语言,而是一种标记语言 (markup language),是网页制作所必备的。“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。超文本标记语言(或超文本标签语言)的结构包括“头”部分、和“主体”部分,其中“头”部提供关于网页的信息,“主体”部分提供网页的具体内容。 -
css
层叠样式表,也是一门标记语言。不可以自定义变量、不可以引用,主要缺陷有:
1 语法不够强大,无法嵌套书写,导致很多重复的工作量
2 没有变量和复用机制,维护工作量大
为了解决这类问题,前端开发人员会使用一种预处理器的工具(一种进行web页面样式设计,通过编译器转化为正常的组件),减少冗余代码,提高代码的可维护性和开发效率。
- js
javascript 是一门弱类型脚本语言,其源代码在发往客户端运行之前不需要编译,而是将文本格式的字符代码发送给六卡其由浏览器解释执行。
目前我们普遍使用的是ECMAScript 5.0
1.2 前端框架演进
jquery:入门学习的,大家熟知的js框架,优点是简化了DOM操作,缺点是DOM操作太频繁,影响性能,更多使用它是为了兼容ie6、7、8。
Angular:Google 收购的前端框架,由一群java程序员开发,其特点是将后台的MVC模式搬到了前端,并增加了模块化开发的理念,与微软合作,采用typescript语法开发;对程序员友好,对前端程序员不友好;最大的缺点是版本前后不兼容。
React:Facebook出品,一款高性能的JS前端框架,特点是使用虚拟DOM,减少真实的DOM操作,提高前端渲染效率,但是学习使用成本较高。
Vue:一门渐进式js框架,综合了模块化和虚拟dom 的优点。
2 ES6的特点
2.1 块级作用域 关键字let,常量const
2.2 对象字面量的属性赋值简写
2.3 赋值结构
2.4 函数参数
2.5 箭头函数
2.6 字符串模板
2.7 迭代器
2.8 生成器
2.9 Class
2.10 Modules
2.11 Proxies
2.12 Symbols
2.13 Promises
2.14 其它API
3 ES6 与 ES5 的区别##
3.1 默认参数
ES6中,可以直接在函数的入参后面加上默认参数值,简单粗暴。
3.2 模板对象
在拼接字符串时,使用``字符,配合${}实现字符串拼接与多行字符串的的方便性。
3.3 解构赋值###
3.4 箭头函数
类似于lambda表达式
3.5 Promises
异步模拟同步
3.6 let 与 const
使用块级作用域与不可变常量,已经接近于后端了。
3.7 Classes
使类的继承变得简单易用
3.8 模块
4 说明
我是后端出身,非专业前端,所以我不会耗费太多的精力去把前端的东西研究特别透。本文的很多特性,是我看过一些视频和简书后简单整理的。只是对es6的一个简单介绍。后续我会针对于vuejs 详细学习。