美文网首页
ES6中新增了什么?

ES6中新增了什么?

作者: 郭静135 | 来源:发表于2018-11-08 11:21 被阅读0次

1、定义变量加入了 let const

        let 会将变量提升到块顶部(而非像ES5是函数顶部)。

        但是在变量声明前引用变量会造成错误。

        let 是块作用域的,不可以在声明前使用。

        const  如果不希望变量的值在发生改变,使用const声明变量。

2、封闭空间

        为了避免污染全局环境污染不必再使用封闭空间,在局部环境中使用let来定义变量就解决了所有问题

    {        let  a=5;    }

    alert(a);  //undefined

3、字符串和变量的拼接

        1》单行字符串和变量的拼接

        字符串和变量的拼接,在拼接的整个作用域内加``(就是键盘1前面那个键的反引号),变量和字符串都不再加'',变量使用${变量名};

        constname=jason;

        constage=18;

        alert(`His name is ${name},He is ${age}`);

2》多行字符串

    constoLi=`<li>

          <div>我是ES6</div>

          <p>这是我的拼接</p>

     </li>`

4、解构赋值

        1》数组的操作

constarr=[1,2,3,4,5];

 const[s,,,,n]=arr;

  alert(s,n);

        2》值的对调:例如冒泡排序中的数组的值的对调

        function BubbleSort(arr){

                for(var i=0;i<arr.length;i++){

                    for(var j=0;j<arr.length-1;j++){

                        if(arr[j]>arr[j+1]){

                            [arr[j],arr[j+1]]=[arr[j+1],arr[j]];

                        }

                    }

                }

                return arr;

            }

        3》查找返回值(包含多个值的时候)

        function obj(){

                constleft=1, right=2, top=3, bottom=4;

                return    {left,right,top,bottom};

            }

            const{left,bottom}=obj();

            console.log(left, bottom); // 1 4

5、类和面向对象

ES6中引入了类(class)来代替构造函数(constructor)

    1》面向对象:ES6中引入了类(class)

        class Person {

              constructor(name) {

                this.name = name;

              }

              showName() {

                return this.name;

              }

            }

            const P1 = new Person('jason');

            alert(P1.showName()); //jason

        2》继承:提供了新的关键字 extends 和 super

        class Person {

                constructor(name,age) {

                  this.name = name;

                  this.age=age;

                }

                showName() {

                  return this.name;

                }

                showAge(){

                  return this.age;

                }

            }

            class Worker extends Person {

                  constructor(name,age,job){

                      super(name,age);

                      this.job=job;

                  }

                  showJob(){

                      return this.job;

                  }

            }

            const W1 = new Worker('jason',18,'要饭的');

            alert(W1.showJob()); // 要饭的

相关文章

  • ES6中新增了什么?

    1、定义变量加入了 let const let 会将变量提升到块顶部(而非像ES5是函数顶部)。 但是在变量声明前...

  • es6重点介绍

    ES6 的变量声明 ES6 中新增了 let 和 const 来定义变量: var:ES5 和 ES6中,定义全局...

  • ES6新增

    新增数据作用域 在 ES6 之前,JavaScript只有两种作用域:全局变量与函数内的局部变量。ES6中新增了块...

  • es6基础知识3(迭代)

    title: es6基础知识3(迭代)tags: 迭代categories: 前端 1. 迭代器 es6中新增了迭...

  • Promise基础

    1、Promise是什么? promsie是ES6新增的一个特性,它已经列入ES6的正式规范中promise是抽象...

  • ECMAScript6--let、const

    在es6之前用var定义变量。es6中新增了let、const 变量声明提升 所谓变量声明提升指的是,用var定义...

  • ES6中的let和const命令

    ES6中的let和const命令 let命令 ES6 新增了let命令,用来声明变量。它的用法类似于var,但是...

  • ES6常见面试题 2019-06-14

    1.es6熟悉吗,说几个es6的新增方法 (1)新增声明命令let和const 在es6中通常用 let 和 co...

  • let 和 const 命令

    ES6学习笔记1、let命令ES6中新增了let,用于声明变量,与var类似,但let声明只是在其block(块)...

  • ES6:proxy代理和Reflect反射

    在ES6中JavaScript新增了proxy来替代ES5中的Object.defineProperty方法来实现...

网友评论

      本文标题:ES6中新增了什么?

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