首页 > 代码库 > ECMAScript6语法

ECMAScript6语法

  • 为什么要学习ES6
    • ES6也叫ECMAScript2015,2015-6月正式发布,向下兼容ES5.1
    • ES6来编写Node.js程序
    • ES6让JavaScript语言能够开发复杂应用程序
  • 严格模式

    • ES5中出现的模式
    • 严格模式的目的:

      • 消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;
      • 消除代码运行的一些不安全之处,保证代码运行的安全;
      • 提高编译器效率,增加运行速度;
      • 为未来新版本的Javascript做好铺垫
      • 参考

        严格模式的限制:https://jsmean.com/blog/post/55a9db88a0367a75336e8884

                        严格模式的限制:http://www.cnblogs.com/jiqing9006/p/5091491.html

    • 开启严格模式

      • 在作用域的最上面 "use strict"
        • js文件的最开头
        • function的开头
  • 变量和常量

    • 变量 let

      • 没有变量提升,必须先定义再使用
      • 有块级作用域
      • 解决问题

window.onload = function () {
          var ul = document.getElementById("list");

          var lis = ul.getElementsByTagName("li");

          for(let i = 0, length=lis.length; i < length; i++) {

//                (function (i) {
//                    lis[i].onclick = function () {
//                        console.log(i);
//                    }
//                })(i);

              lis[i].onclick = function () {
                  console.log(i);
              }
          }
      }

 

 

 

  • 常量 const
    • 常量的一旦赋值,不能改变
    • 有块级作用域
    • 没有变量提升,先定义再使用
    • 不可以重复定义
    • 必须有初始值,否则报错
    • 在Node.js中,所有接收require()获得的对象都使用const修饰

 

 

 

  • string的扩展方法
    • includes() 返回布尔值,是否包含,第二个参数从第几个位置开始查找
    • startsWith() 返回布尔值,是否以...开头,第二个参数从第几个位置开始查找
    • endsWith() 返回布尔值,是否以...结尾,第二个参数, 前n个字符以...结尾
    • repeat() 重复次数
  • 模板
    • 示例一:
    • let name = "steve jobs";
      let str = `hello ${name}`;

      示例二:

    • let obj = {name:"jobs", age: 18, salary: 1};
      
      let template = `
        姓名:${obj.name}
      年龄:${obj.age}
      工资:${obj.salary}
      `.trim();

       

 

ECMAScript6语法