ES6基础语法与模块化编程

项目已开源至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、gulpmaven、gradle
依赖管理npmmvn

一、ES6基础语法

ECMAScript 6.0是一种脚本程序设计语言,是 JavaScript 语言的下一代标准。它的目标是使得 JavaScript 语言可以用来编写复杂的大型应用程序, 成为企业级开发语言。

  • 总而言之,ECMAScript 是浏览器脚本语言的规范, 而各种我们熟知的 js 语言, 如 JavaScript 则是规范的具体实现

1.let声明变量

ES6的let、JS中的var都是用来声明变量,二者区别主要在三点:

  • ①let声明的变量有严格的局部作用域;var声明的变量会越域。
  • ②let只能声明一次;var可以声明多次。
  • ③let不存在变量提升;var存在变量提升。

下面通过代码对上述三条特性进行演示:

  • ①let是局部变量
    ①let是局部变量

  • ②let只能声明一次②let只能声明一次

  • ③let不存在变量提升
    ③let不存在变量提升

2.const声明常量

①使用const声明常量,且声明时必须初始化

  • ①常量不能被修改
    常量不能被修改

3.解构表达式

ES6的解构方式更加简单,常用的有数组解构对象解构

数组解构:
数组解构

对象解构:

对象解构

4.模板字符串

模板字符串相当于加强版本的字符串,使用用反引号,除了可以作为普通字符串,还可以用来定义多行字符串、 还可以在字符串中加入变量加入表达式

  • 模板字符串可以用来加入变量、表达式
    模板字符串测试

5.声明对象

相比传统方式声明对象,ES6声明对象的语法更加简洁:
声明对象

6.对象拓展运算符

拓展运算符用于取出参数对象所有可遍历属性然后拷贝到当前对象。

对象拓展运算符

7.箭头函数

箭头函数可以理解为一种更加简洁的函数书写方式,可以让函数的书写更加简单,基本语法是:参数=>函数体,多用于匿名函数的定义。

箭头函数

二、ES6模块化编程

关于模块化编程,后端主要指的是对象与对象之间的调用,而前端指JS之间的调用。为了演示ES6模块化编程,创建01.js文件,其中写入两个方法,在02.js中调用01.js中的方法:

ES6模块化调用

由于ES6的模块化无法在node.js中执行,所以运行02.js文件后,项目会报错。在node.js中无法直接执行es6模块化代码,需要将es6代码转换为es5才能执行,转换可以借助babel转码器实现。

ES6转ES5

ES6的某些高级语法在浏览器环境甚至是Node.js环境中无法执行,可以使用babel转码器实现将ES6转换为ES5代码,从而在现有环境中执行。

  • babel提供babel-cli工具,安装命令如下:
    npm install -g babel-cli
  • 查看是否安装成功
    babel --version

安装babel并查看版本

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中定义的方法:
模块化调用成功

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hudie.

不要打赏!不要打赏!不要打赏!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值