赞
踩
项目已开源至gitee:https://gitee.com/guo-qianliang/es6-vue-node.js
项目已开源至github:https://github.com/Guoqianliang/ES6-Vue-Node.js
比较 | 前端 | 后端 |
---|---|---|
环境 | JavaScript(es6/7/8…) | Java(jdk8.9.10…) |
框架 | JQuery、Vue、React… | Spring、SpringMVC… |
工具 | webstorm、vscode… | idea、eclipse… |
项目构建 | webpack、gulp | maven、gradle |
依赖管理 | npm | mvn |
ECMAScript 6.0
是一种脚本程序设计语言,是 JavaScript 语言的下一代标准。它的目标是使得 JavaScript 语言可以用来编写复杂的大型应用程序, 成为企业级开发语言。
规范
, 而各种我们熟知的 js 语言, 如 JavaScript 则是规范的具体实现
。ES6的let、JS中的var都是用来声明变量,二者区别主要在三点:
- ①let声明的变量有
严格的局部作用域
;var声明的变量会越域。- ②let
只能声明一次
;var可以声明多次。- ③let
不存在变量提升
;var存在变量提升。
下面通过代码对上述三条特性进行演示:
①let是局部变量
②let只能声明一次
③let不存在变量提升
①使用const声明常量,且声明时
必须初始化
。
ES6的解构方式更加简单,常用的有
数组解构
和对象解构
。
数组解构:
对象解构:
模板字符串相当于加强版本的字符串,使用用反引号,除了可以作为普通字符串,还可以用来定义多行字符串
、 还可以在字符串中加入变量
、加入表达式
。
相比传统方式声明对象,ES6声明对象的语法更加简洁:
拓展运算符用于取出参数对象所有可遍历属性然后拷贝
到当前对象。
箭头函数可以理解为一种更加简洁的函数书写方式,可以让函数的书写更加简单,基本语法是:参数=>函数体
,多用于匿名函数
的定义。
关于模块化编程,后端主要指的是对象与对象之间的调用
,而前端指JS之间的调用
。为了演示ES6模块化编程,创建01.js文件,其中写入两个方法,在02.js
中调用01.js
中的方法:
由于ES6的模块化无法在node.js中执行,所以运行02.js文件后,项目会报错。在node.js中无法直接执行es6模块化代码,需要将es6代码转换为es5才能执行,转换可以借助babel转码器实现。
ES6的某些高级语法在浏览器环境甚至是Node.js环境中无法执行,可以使用babel转码器实现将ES6转换为ES5代码,从而在现有环境中执行。
npm install -g babel-cli
babel --version
Babel的配置文件是.babelrc
,存放在项目的根目录下,该文件用来设置转码规则和插件,presets字段设定转码规则,下面的配置表明将其转换为ES5:
{
"presets": ["es2015"],
"plugins": []
}
在初始化的目录中安装转码器:
npm install -D babel-preset-es2015
将src中的js文件转成ES5文件放入dist文件夹中:
babel src -d dist
此时在dist文件夹中执行node 02.js
,可以成功执行01.js中定义的方法:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。