美文网首页
Chapter 1 ES6、模块化、打包

Chapter 1 ES6、模块化、打包

作者: weiee | 来源:发表于2018-12-03 01:17 被阅读0次

1. ES6基础

  1. 语言特性:
    • const, let:const为常量,一旦定义不可修改。let为块级作用域变量。
    • 函数:
      1. 箭头函数:语法糖,为匿名函数。
      2. this在箭头函数中的使用:
        js对象中的嵌套函数this会指向global对象:
        var val = "global";
        var obj = {
            val: "locale",
            getVal: function() {
                return function() {
                  console.log(this.val);
                }
            }
        }
        obj.getVal()() //输出"global"
        
        解决方案:1.为this赋值, 2.使用bind绑定上下文
        // 定义时将this值赋值给变量
        var val = "global";
        var obj = {
            val: "locale",
            getVal: function() {
                var self = this;
                return function() {
                  console.log(self.val);
                }
            }
        }
        obj.getVal()() //输出"locale"
        
        // 使用bind绑定上下文obj
        var val = "global";
        var obj = {
            val: "locale",
            getVal: function() {
                return function() {
                  console.log(this.val);
                }.bind(this);
            }
        }
        obj.getVal()() //输出"locale"
        
        解决方案3:使用箭头函数
        var val = "global";
        var obj = {
            val: "locale",
            getVal: function() {
                return () => {
                  console.log(this.val);
                }
            }
        }
        obj.getVal()() //输出"locale"
        
      3. 函数默认参数:
        ES6前默认参数需要额外指定,例如:values = values || [];
        ES6指定函数默认参数:
        function whatsUp(name = 'Love Me Like You Do', type = 'english') {
           console.log("I'm listening an " + type + " song: " + name + ", right now.");
        }
        whatsUp();
        
      4. Rest参数:函数最后一个参数前带有...,则该参数会转换为数组。
        function restFun(name, ...args) {
          console.log("list " + name + ": " + args);
        }
        restFun();
        
        注意:Rest参数是数组,arguments只是类数组对象。Rest参数可使用数组方法,例:sort、map等。尽量使用Rest参数替代arguments。
    • 展开操作符:...即展开操作符,允许一个表达式展开。
      1. 用于函数调用:将数组依次作为参数进行调用。
        ES6前使用apply
        function test(gender, name) {
          console.log((gender === "female" ? "Her" : "His") + " name is "+ name);
        }
        test.apply(null, ["female", "Elizabeth"]); //Her name is Elizabeth          
        
        ES6使用展开操作符
        test(...["female", "Elizabeth"]);  //Her name is Elizabeth
        
      2. 用于数组字面量:数组展开
        var arr1 = [1,2,3], arr2 = ["lisa", "tom"]
        var arr3 = [...arr1, ...arr2]; //[1,2,3,"lisa","tom]
        
      3. 用于对象展开
        var teecha = {age: 23, gender: "male"}
        teecha = {...teecha, nickname: "sweettea"} // {age: 23, gender: "male", nickname: "sweettea"}
        
    • 模板字符串:使用`字符。
      var song = "红尘";
      var tpl = `${song} is one of my favorite songs,
          do you wanna try? `;
      console.log(tpl); 
      

to be continue...

相关文章

  • Chapter 1 ES6、模块化、打包

    1. ES6基础 语言特性:const, let:const为常量,一旦定义不可修改。let为块级作用域变量。函数...

  • 前端面试之ES6 语法

    ++本文系慕课网学习笔记++ 1、ES6 模块化如何使用,开发环境如何打包 解答思路: 语法: import ex...

  • vue组件注册为什么有时候要在require后面加上defaul

    webpack 打包时支持 CommonJS、AMD 和 ES6 的模块化系统。 我们通常写 .vue 单文件组件...

  • 十二、模块化

    1、es6 2、闭包模块化

  • Webpack+react+es6创建项目

    Webpack 是当下最热门的前端资源模块化管理和打包工具. 使用webpack 搭建react 项目(es6) ...

  • VUE学习资料

    基础知识 CommonJS规范ES6 前端资源模块化管理/打包工具 webpack 核心框架 Vue 路由系统 v...

  • js模块化规范

    一、js模块化1、模块化规范: script CommonJS AMD CMD ES6 modules 2、scr...

  • JS-模块化

    ES6从官方标准带来了模块化开发规范。下面主要介绍ES6模块化开发当中最重要的export和import概念。 1...

  • ES6,ES7,ES8特性总结整理

    ES6 1. 类(class) 2. 模块化 模块化主要由import和export组成 export可以导出变量...

  • amd

    1、什么是模块化,解释AMD/CommonJS/ES6 模块 (评分标准:模块化2分,AMD 2分,CommonJ...

网友评论

      本文标题:Chapter 1 ES6、模块化、打包

      本文链接:https://www.haomeiwen.com/subject/ygfecqtx.html