初步了解es6

  基本类型在栈空间,引用类型(对象,方法,数组)在堆空间

  1.const是定义一个常量,和let都是块级作用域。不可以重复声明。对于复合类型的常量,常量名不指向数据,而是指向数据所在的地址。const命令只是保证常量名指向的地址不变,并不保证该地址的数据不变,也就是说,将对象常量指向另一个地址会报错,但对象本身是可变的,可以为其添加,修改属性,因此将一个对象声明为常量必须十分小心。比如先定义一个const obj = {name:"zhangsan"}。如果再定义一次obj,就会报错,因为这样子改变了obj指向的地址,但是可以改变obj里面name属性的值。

  2.数组解构是按数组里面内容的顺序解构,对象解构是按属性名解构。

  3.字符串.includes()是用来判断字符串里面有没有子字符串。字符串.startsWith()是判断字符串是否以...开头。字符串.endsWith()是判断字符串是否以...结尾。

  4.promise异步

    //提供一个需要执行的函数
    let p = new Promise(
        //在promise这个对象创建完毕之后,立即执行这个函数。
        function(resolve, reject){
            //resolve 成功的回调 需要手动执行 resolve()
            // reject 失败的回调 只要这个函数中代码错了,也会执行,除此之外手动执行reject()
            console.log(123);
            // console.log(a);

            reject();
        }
    );

    p.then(
        function resolve(){
            console.log('resolve调用了');
        },
        function reject(){
            console.log('reject调用了');
        }
    );

  5.Array.from是将一个类数组对象或者可遍历对象转换成一个真正的数组。讲一个类数组对象转换成真正的数组需要以下条件:1、该类数组对象必须具有length属性,用于指定数组的长度。如果没有length属性,那么转换后的数组是一个空数组。2、该类数组对象的属性名必须为数值型或字符串型的数字(该类数组对象的属性名可以加引号,也可以不加引号)。参考这里

  6.model 

  7.webpack中配置babel-loader,首先安装,babel-loader是基于webpack的加载器(将es6转为js),babel-core是babel核心语法, babel-preset-es2015 打包了 es6 的特性。

 npm install babel-core babel-loader babel-preset-es2015 --D

  然后配置webpack.config.js文件:

module: {
  rules: [
    // exclude 排除,不需要编译的目录,提高编译速度
    {test: /\.js$/, use: 'babel-loader', exclude: /node_modules/}
  ]
}

  创建babelrc文件(在命令行创建:echo 随意输入 >.babelrc): 

{
    presets: ['es2015']
}

 

    

  

  

posted @ 2018-08-29 21:46  红枣味酸奶  阅读(111)  评论(0编辑  收藏  举报