周大胖子 发表于 2018-4-18 11:44:35

与 ES6 的战斗

引入文件:
import "./src/arrow.js"
该 .js 可以省略


周大胖子 发表于 2018-4-18 11:46:48

常量:


es5 中常量的写法 :Object.defineProperty(window,"PI2",{
                                value: 3.24132,   //默认值
                                writable: false,   //只读
                               
                        })

es6 中常量的写法 :   const pi = 3.14

周大胖子 发表于 2018-4-18 11:47:58

作用域

在 ES6 中 一个{ }就是一个单独的作用域

周大胖子 发表于 2018-4-18 11:48:11

箭头函数:

      ()=>{

      }

         【 (小括号里是参数)参数只有一个的时候:() 的 值 可以不写】
      
      【{ }如果 花括号里的表达式 可以直接作为返回值 那就可以省略 花括号】
      
      以前是: function a(){ }
      

周大胖子 发表于 2018-4-18 11:51:32

Es5:       this 的 指向 : 哪个函数调用了谁this 就指向谁

ES6:       this 的 指向 : 谁定义了 thisthis 就指向谁

周大胖子 发表于 2018-4-18 11:51:57

ES5 的 写法:

                var arr =

                var odd = arr.map(function(v){
                        return v + 1   //这里 v就是循环里面的值

                })

                console.log(odd)   //结果 2,3,4,5,6

       
        ES6 的 写法:

                {
                        let events =

                        let odds = events.map( v => v+1);
                       
                        console.log(odds)
               
                }

周大胖子 发表于 2018-4-18 11:52:49

默认参数:

Es6 写法:        function f(x,y = 7 , z = 42){ return x + y + z        }

        必选参数:

                {
                                       
                        function checkParameter(){
                                throw new Erroe('can\'t be empty')
                        }
                        function f(x = checkParameter(),y = 7, z= 42){
                                return x + y + z
                        }

                        try{

                        }catch(e){
                                console.log(e)

                        } finally{

                        }

                }

周大胖子 发表于 2018-4-18 11:53:35

可变参数的处理
可变长度扩展符号 ...a这就是列表的意思 所以下面的操作

function f(...a){
                var sum = 0;
                a.forEach(item=>{
                  sum+=item*1
                });
                return sum
        }

周大胖子 发表于 2018-4-18 11:54:24

数组合并
        //ES5 的写法:

                var params = ['hello', true ,7];

                var other = .concat(params);

                        console.log(other);

//ES6 的写法:

        {
        let params = ['hellow' , true ,7]

        var other = ;

        console.log(other)
       
        };

周大胖子 发表于 2018-4-19 23:10:10

模板字符串:

var name='胖子';var age = '28console.log(name + '的年龄是'+ age);

ES6写法   注意 console里面的不是单引号 而是 ESC下面的 那个 啥符号来着
var name='胖子';var age = '28console.log(`${name}的年龄是${age}`)

页: [1] 2
查看完整版本: 与 ES6 的战斗