什么是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定义的是常量,是不可修改的。
  1. <script type="text/javascript">
  2. <!--定义var值-->
  3. var ht=20;
  4. <!--定义let值-->
  5. let nn=30;
  6. <!--定义const值-->
  7. const pcl=183;
  8. alert(ht); //20
  9. alert(nn); //30
  10. alert(pcl); //183
  11.  
  12. ht=21;
  13. nn=31;
  14. //pcl=184;//报错,const定义的常量是不可修改的
  15. alert(ht); //21
  16. alert(nn); //31
  17. alert(pcl); //183
  18. </script>

箭头函数,

  1. // 通过箭头函数的写法定义
  2. var fnRs = (a,b)=>{
  3. var rs = a + b;
  4. alert(rs);
  5. }
  6. // fnRs(1,2);
  7. // 一个参数可以省略小括号
  8. var fnRs2 = a =>{
  9. alert(a);
  10. }
  11. fnRs2('本是青灯不归客');
  12.  
  13. // 箭头函数的作用,可以绑定对象中的this(这里的this不是window而是对象)
  14. var person = {
  15. name:'tom',
  16. age:18,
  17. showName:function(){
  18. setTimeout(()=>{
  19. alert(this.name);
  20. },1000)
  21. }
  22. }
  23. person.showName();

class

ES6中也提出了类用法,类用法es5中就可以实现了,不过既然是新规则那就更加清晰明了啦

  1. class Poetry {
  2. constructor(){
  3. console.log('山有木兮木有之');
  4. }
  5. }
  6. class Person extends Poetry{
  7. constructor(){
  8. super();
  9. console.log('本是青灯不归客');
  10. }
  11. }
  12. let ht = new Person();

  效果:

解构

  1. var ht1 = someArray[0];
  2. var ht2 = someArray[1];
  3. var ht3 = someArray[2];
  4. //解构赋值
  5. let [ht1, ht2, ht3] = someArray;
  6. //还有下面例子
  7. let [,,ht3] = [1,2,3];
  8. console.log(ht3); //3
  9.  
  10. let [ht1,...last] = [1,2,3];
  11. console.log(last); //[2,3]
  12.  
  13. //对象解构
  14. let {name,age} = {name: "ht", age: "17"};
  15. console.log(name); //ht
  16. console.log(age); //17
  17. //注意
  18. let {ept1} = {};
  19. console.log(ept1); //undefined
  20. let {ept2} = {undefined};
  21. console.log(ept2); //undefined
  22. let {ept3} = {null};
  23. console.log(ept3); //null

Rest+ Spread

详解(https://segmentfault.com/a/1190000009992594

import 和 export

  • 通过向大括号中添加sex,echo变量并且export输出,就可以将对应变量值以sex、echo变量标识符形式暴露给其他文件而被读取到
  • 不能写成export sex这样的方式,如果这样就相当于export "boy",外部文件就获取不到该文件的内部变量sex的值,因为没有对外输出变量接口,只是输出的字符串。
  1. <script type="text/javascript">
  2. // 简写成下面的形式
  3. var sex="boy";
  4. var echo=function(value){
  5.   console.log(value)
  6. }
  7. export {sex,echo}
  8. </script>
  • 通过import获取a.js文件的内部变量,{}括号内的变量来自于a.js文件export出的变量标识符。
  1. import {sex,echo} from "a.js"
  2. console.log(sex) // boy
  3. echo(sex) // boy

谢谢观看!

ES6语法基本使用的更多相关文章

  1. es6语法重构react代码

    1.使用React.Component创建组件,需要通过在constructor中调用super()将props传递给React.Component.另外react 0.13之后props必须是不可变 ...

  2. vue 2.0 无法编译ES6语法

    # vue2.0 webpack 无法编译 ES6 语法 之前在使用 vue 1.x 时用 vue-loader@8.0.0 版本可以正常打包vue的代码,包括ES6语法也能正常转为ES5语法,但是当 ...

  3. 把JavaScript代码改成ES6语法不完全指南

    目录 * 核心例子 * 修改成静态变量(const)或块级变量(let) * 开始修改 * 疑问解释(重复定义会发生什么) * 疑问解释(let的块级作用域是怎样的) * 疑问解释(const定义的变 ...

  4. 让intellij idea 14 支持ES6语法

    用eclipse做前端开发,用到了webpack,结果各种依赖导致软件卡的一比,简直不能动!虽然在同事的帮忙下,修改了一下配置,但仍然卡的没脾气.改用intellij idea 14解决了卡的问题,但 ...

  5. .vue文件在webstorm中es6语法报错解决方法

    1 语法支持es6设置 Preferences > Languages & Frameworks > JavaScript 把 Javascript Language versio ...

  6. webpack打包不识别es6语法的坑

    今天Vue项目npm run build 后webpack,报错uglifyjs,自己研究了一下,翻译过来,意思是不识别项目中写的高级语法,这里要把项目里es6语法转es5让浏览器识别, 也就是web ...

  7. ES6语法的学习与实践

    ES6是JavaScript语言的新一代标准,是ECMAScript的第六个版本,加入了很多新的功能和语法,在很多框架,如在使用Vue,React等框架的项目中一般都采用ES6语法来编写的,下面对经常 ...

  8. 如何让浏览器支持ES6语法,步骤详细到小学生都能看懂!

    为什么ES6会有兼容性问题? 由于广大用户使用的浏览器版本在发布的时候也许早于ES6的定稿和发布,而到了今天,我们在编程中如果使用了ES6的新特性,浏览器若没有更新版本,或者新版本中没有对ES6的特性 ...

  9. Webstorm添加新建.vue文件功能并支持高亮vue语法和es6语法

    转载:https://blog.csdn.net/qq_33008701/article/details/56486893 Webstorm 添加新建.vue文件功能并支持高亮vue语法和es6语法 ...

  10. vue-i18n使用ES6语法以及空格换行问题

    1.运行报错 报错使用了不恰当的exports Uncaught TypeError : Cannot assign to read only property 'exports ' of objec ...

随机推荐

  1. centos 普通用户 和 root 相互切换方法

    root 用户切换为普通用户 :用 login -f username (加 -f 不用输入密码)例如普通用户的用户名为hadoop,这里就是 login -f hadoop 普通用户切换为root用 ...

  2. python socketpool:通用连接池(转)

    简介 在软件开发中经常要管理各种“连接”资源,通常我们会使用对应的连接池来管理,比如mysql数据库连接可以用sqlalchemy中的池来管理,thrift连接可以通过thriftpool管理,red ...

  3. windows环境下mosquitto环境搭建与mqtt测试

    https://blog.csdn.net/pgpanda/article/details/51800865 工作需求,自己在windows下搭建了一个mosquitto环境测试mqtt 话不多说,直 ...

  4. 京东HBase平台进化与演进

    https://mp.weixin.qq.com/s/7_dxrqFWwIJxNtL9-xD6FA

  5. System.Runtime.Serialization.cs

    ylbtech-System.Runtime.Serialization.cs 允许对象控制其自己的序列化和反序列化过程. 1.返回顶部 1. #region 程序集 mscorlib, Versio ...

  6. [转]地理投影,常用坐标系详解、WGS84、WGS84 Web墨卡托、WGS84 UTM、北京54坐标系、西安80坐标系、CGCS2000坐标系

    转自:http://www.rivermap.cn/docs/show-1829.html 常用坐标系详解 (一)WGS84坐标系 WGS-84坐标系(World Geodetic System一19 ...

  7. spark ml pipeline构建机器学习任务

    一.关于spark ml pipeline与机器学习一个典型的机器学习构建包含若干个过程 1.源数据ETL 2.数据预处理 3.特征选取 4.模型训练与验证 以上四个步骤可以抽象为一个包括多个步骤的流 ...

  8. MyBatis的学习总结:调用存储过程【参考】

    一.创建存储过程 存储过程的目的:统计edi_test_task 正在运行的任务和非运行的任务 CREATE DEFINER=`root`@`%` PROCEDURE `edihelper`.`SP_ ...

  9. 封装Email相关的操作

    package com.opslab.util; import javax.activation.DataHandler;import javax.activation.DataSource;impo ...

  10. hppts的理解

    参考: https://www.ruanyifeng.com/blog/2014/02/ssl_tls.html