ES6常用知识小结

简介: ES6常用知识小结



1let 关键字

let 关键字用来声明变量,使用 let 声明的变量有几个特点:

  1. 不允许重复声明;
  2. 块儿级作用域(局部变量);
  3. 不存在变量提升;
  4. 不影响作用域链;

2const 关键字

const 关键字用来声明常量const 声明有以下特点:

  1. 声明必须赋初始值;
  2. 标识符一般为大写(习惯);
  3. 不允许重复声明;
  4. 值不允许修改;
  5. 块儿级作用域(局部变量);

3、模板字符串

模板字符串(template string)是增强版的字符串,用反引号(`)标识,特点:

        字符串中可以出现换行符

        可以使用 ${xxx} 形式引用变量;

       

<script>
        //  声明字符串的方法:单引号('')、双引号("")、反引号(``)
        //  声明
        let string = `字符串`;
        console.log(string);//字符串
        //  特性
        //  1、字符串中可以出现换行符 
        let str =
            `<div>
                <div>一</div> 
                <div>二</div> 
                <div>三</div> 
                <div>四</div>
            </div>`;
        console.log(str);
        //  2、可以使用 ${xxx} 形式引用变量 
        let s = "小明";
        let out = `${s}跑的真快!`;
        console.log(out);//小明跑的真快
    </script>

4、简化对象和函数写法

ES6 允许在大括号里面,直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁;

5、箭头函数

ES6允许使用箭头(=>)定义函数,箭头函数提供了一种更加简洁的函数书写方式,箭头函数多用于匿名函数的定义;

箭头函数的注意点:

  1. 如果形参只有一个,则小括号可以省略;
  2. 函数体如果只有一条语句,则花括号可以省略,函数的返回值为该条语句的执行结果;
  3. 箭头函数 this 指向声明时所在作用域下 this 的值;
  4. 箭头函数不能作为构造函数实例化;
  5. 不能使用 arguments

特性:

  1. 箭头函数的this是静态的,始终指向函数声明时所在作用域下的this的值;
  2. 不能作为构造实例化对象;
  3. 不能使用 arguments 变量;

6、ES6中函数参数的默认值

<script>
        //  ES6允许使用箭头(=>)定义函数
        //  传统写法:无参数
        var say = function () {
            console.log("hello!");
        }
        say();
        //  ES6箭头函数: 无参数
        let speak = () => console.log("hello 哈哈!");
        speak();
        //  特性
        //  箭头函数的this是静态的,始终指向函数声明时所在作用域下的this的值 
        const school = {
            name: "大哥",
        }
        //  传统函数
        function getName() {
            console.log("getName:" + this.name);
        }
        //  箭头函数
        getName1 = () => console.log("getName1:" + this.name);
        //  直接调用 
        getName();
        getName1();
        //  使用call调用 
        getName.call(school);
        getName1.call(school);
        //  结论:箭头函数的this是静态的,始终指向函数声明时所在作用域下的this的值
    </script>
目录
相关文章
|
文字识别 小程序 测试技术
网易私有云新增的测试驱动力,Airtest-ocr文字识别点击真香!
网易私有云新增的测试驱动力,Airtest-ocr文字识别点击真香!
805 0
|
C语言
C语言模块化程序设计
C语言模块化程序设计
279 0
|
机器学习/深度学习 人工智能 自然语言处理
从此告别PPT制作的烦恼:ChatGPT和MindShow帮你快速完成
从此告别PPT制作的烦恼:ChatGPT和MindShow帮你快速完成
|
12月前
|
NoSQL 测试技术 PHP
新手从事直播软件源码开发搭建经验与技巧
新手技术从事直播软件源码开发,从需求调研、技术架构、功能逻辑、技术语言、压力测试等全面剖析。
|
机器学习/深度学习 自然语言处理 算法
深入理解机器学习算法:从线性回归到神经网络
深入理解机器学习算法:从线性回归到神经网络
|
SQL 关系型数据库 MySQL
MySQL异常一之: You can‘t specify target table for update in FROM clause解决办法
这篇文章介绍了如何解决MySQL中“不能在FROM子句中指定更新的目标表”(You can't specify target table for update in FROM clause)的错误,提供了错误描述、需求说明、错误做法和正确的SQL写法。
2458 0
|
XML Java Android开发
#4,Android Studio Android程序结构 工程目录介绍 文件作用 运行配置文件AndroidManifest.xml
#4,Android Studio Android程序结构 工程目录介绍 文件作用 运行配置文件AndroidManifest.xml
|
机器学习/深度学习 自然语言处理 安全
【开源威胁情报挖掘3】开源威胁情报融合评价
【开源威胁情报挖掘3】开源威胁情报融合评价
405 0
|
存储 安全 NoSQL
Visual Studio 2022 你必须知道的实用调试技巧
大家好,前面我们讲了Visual Studio 2022的安装和使用以及scanf报错的解决方法 今天分享一些实用的 VS 技巧,而这些技巧很多人都不知道。当你以后在工作中遇到:我在同事电脑上解决问题,或在会议上演示代码示例时,使用了一些 VS “骚”操作,他们会好奇地问:你是怎么做到的?有时候你知道一些别人不知道的小技巧便可以让你显得更专业。 PS:本文所有示例演示均基于 Visual Studio 2022 版本。
697 0
|
前端开发 Java
在项目中使用WebSocket进行前后端通信
在项目中使用WebSocket进行前后端通信
692 0