ES6语法基本使用
什么是ES6?
- ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了。Mozilla公司将在这个标准的基础上,推出JavaScript 2.0。
- ECMAScript是JavaScript语言的国际标准,JavaScript是ECMAScript的实现。
- ES6的目标,是使得JavaScript语言可以用来编写大型的复杂的应用程序,成为企业级开发语言。
ES6官方中文网(http://es6.ruanyifeng.com/)
变量定义(var,let,const)
- 一般函数中都是用var去定义变量,因为它是关键字可以预解析。
- ES6中推荐使用let去定义变量,let定义的是一般变量。
- const定义的是常量,是不可修改的。
- <script type="text/javascript">
- <!--定义var值-->
- var ht=20;
- <!--定义let值-->
- let nn=30;
- <!--定义const值-->
- const pcl=183;
- alert(ht); //20
- alert(nn); //30
- alert(pcl); //183
- ht=21;
- nn=31;
- //pcl=184;//报错,const定义的常量是不可修改的
- alert(ht); //21
- alert(nn); //31
- alert(pcl); //183
- </script>
箭头函数,
- // 通过箭头函数的写法定义
- var fnRs = (a,b)=>{
- var rs = a + b;
- alert(rs);
- }
- // fnRs(1,2);
- // 一个参数可以省略小括号
- var fnRs2 = a =>{
- alert(a);
- }
- fnRs2('本是青灯不归客');
- // 箭头函数的作用,可以绑定对象中的this(这里的this不是window而是对象)
- var person = {
- name:'tom',
- age:18,
- showName:function(){
- setTimeout(()=>{
- alert(this.name);
- },1000)
- }
- }
- person.showName();
class
ES6中也提出了类用法,类用法es5中就可以实现了,不过既然是新规则那就更加清晰明了啦
- class Poetry {
- constructor(){
- console.log('山有木兮木有之');
- }
- }
- class Person extends Poetry{
- constructor(){
- super();
- console.log('本是青灯不归客');
- }
- }
- let ht = new Person();
效果:
解构
- var ht1 = someArray[0];
- var ht2 = someArray[1];
- var ht3 = someArray[2];
- //解构赋值
- let [ht1, ht2, ht3] = someArray;
- //还有下面例子
- let [,,ht3] = [1,2,3];
- console.log(ht3); //3
- let [ht1,...last] = [1,2,3];
- console.log(last); //[2,3]
- //对象解构
- let {name,age} = {name: "ht", age: "17"};
- console.log(name); //ht
- console.log(age); //17
- //注意
- let {ept1} = {};
- console.log(ept1); //undefined
- let {ept2} = {undefined};
- console.log(ept2); //undefined
- let {ept3} = {null};
- console.log(ept3); //null
Rest+ Spread
详解(https://segmentfault.com/a/1190000009992594)
import 和 export
- 通过向大括号中添加sex,echo变量并且export输出,就可以将对应变量值以sex、echo变量标识符形式暴露给其他文件而被读取到
- 不能写成export sex这样的方式,如果这样就相当于export "boy",外部文件就获取不到该文件的内部变量sex的值,因为没有对外输出变量接口,只是输出的字符串。
- <script type="text/javascript">
- // 简写成下面的形式
- var sex="boy";
- var echo=function(value){
- console.log(value)
- }
- export {sex,echo}
- </script>
- 通过import获取a.js文件的内部变量,{}括号内的变量来自于a.js文件export出的变量标识符。
- import {sex,echo} from "a.js"
- console.log(sex) // boy
- echo(sex) // boy
谢谢观看!
ES6语法基本使用的更多相关文章
- es6语法重构react代码
1.使用React.Component创建组件,需要通过在constructor中调用super()将props传递给React.Component.另外react 0.13之后props必须是不可变 ...
- vue 2.0 无法编译ES6语法
# vue2.0 webpack 无法编译 ES6 语法 之前在使用 vue 1.x 时用 vue-loader@8.0.0 版本可以正常打包vue的代码,包括ES6语法也能正常转为ES5语法,但是当 ...
- 把JavaScript代码改成ES6语法不完全指南
目录 * 核心例子 * 修改成静态变量(const)或块级变量(let) * 开始修改 * 疑问解释(重复定义会发生什么) * 疑问解释(let的块级作用域是怎样的) * 疑问解释(const定义的变 ...
- 让intellij idea 14 支持ES6语法
用eclipse做前端开发,用到了webpack,结果各种依赖导致软件卡的一比,简直不能动!虽然在同事的帮忙下,修改了一下配置,但仍然卡的没脾气.改用intellij idea 14解决了卡的问题,但 ...
- .vue文件在webstorm中es6语法报错解决方法
1 语法支持es6设置 Preferences > Languages & Frameworks > JavaScript 把 Javascript Language versio ...
- webpack打包不识别es6语法的坑
今天Vue项目npm run build 后webpack,报错uglifyjs,自己研究了一下,翻译过来,意思是不识别项目中写的高级语法,这里要把项目里es6语法转es5让浏览器识别, 也就是web ...
- ES6语法的学习与实践
ES6是JavaScript语言的新一代标准,是ECMAScript的第六个版本,加入了很多新的功能和语法,在很多框架,如在使用Vue,React等框架的项目中一般都采用ES6语法来编写的,下面对经常 ...
- 如何让浏览器支持ES6语法,步骤详细到小学生都能看懂!
为什么ES6会有兼容性问题? 由于广大用户使用的浏览器版本在发布的时候也许早于ES6的定稿和发布,而到了今天,我们在编程中如果使用了ES6的新特性,浏览器若没有更新版本,或者新版本中没有对ES6的特性 ...
- Webstorm添加新建.vue文件功能并支持高亮vue语法和es6语法
转载:https://blog.csdn.net/qq_33008701/article/details/56486893 Webstorm 添加新建.vue文件功能并支持高亮vue语法和es6语法 ...
- vue-i18n使用ES6语法以及空格换行问题
1.运行报错 报错使用了不恰当的exports Uncaught TypeError : Cannot assign to read only property 'exports ' of objec ...
随机推荐
- centos 普通用户 和 root 相互切换方法
root 用户切换为普通用户 :用 login -f username (加 -f 不用输入密码)例如普通用户的用户名为hadoop,这里就是 login -f hadoop 普通用户切换为root用 ...
- python socketpool:通用连接池(转)
简介 在软件开发中经常要管理各种“连接”资源,通常我们会使用对应的连接池来管理,比如mysql数据库连接可以用sqlalchemy中的池来管理,thrift连接可以通过thriftpool管理,red ...
- windows环境下mosquitto环境搭建与mqtt测试
https://blog.csdn.net/pgpanda/article/details/51800865 工作需求,自己在windows下搭建了一个mosquitto环境测试mqtt 话不多说,直 ...
- 京东HBase平台进化与演进
https://mp.weixin.qq.com/s/7_dxrqFWwIJxNtL9-xD6FA
- System.Runtime.Serialization.cs
ylbtech-System.Runtime.Serialization.cs 允许对象控制其自己的序列化和反序列化过程. 1.返回顶部 1. #region 程序集 mscorlib, Versio ...
- [转]地理投影,常用坐标系详解、WGS84、WGS84 Web墨卡托、WGS84 UTM、北京54坐标系、西安80坐标系、CGCS2000坐标系
转自:http://www.rivermap.cn/docs/show-1829.html 常用坐标系详解 (一)WGS84坐标系 WGS-84坐标系(World Geodetic System一19 ...
- spark ml pipeline构建机器学习任务
一.关于spark ml pipeline与机器学习一个典型的机器学习构建包含若干个过程 1.源数据ETL 2.数据预处理 3.特征选取 4.模型训练与验证 以上四个步骤可以抽象为一个包括多个步骤的流 ...
- MyBatis的学习总结:调用存储过程【参考】
一.创建存储过程 存储过程的目的:统计edi_test_task 正在运行的任务和非运行的任务 CREATE DEFINER=`root`@`%` PROCEDURE `edihelper`.`SP_ ...
- 封装Email相关的操作
package com.opslab.util; import javax.activation.DataHandler;import javax.activation.DataSource;impo ...
- hppts的理解
参考: https://www.ruanyifeng.com/blog/2014/02/ssl_tls.html