ES6语法详解

1.  ES6发展历史以及介绍

  略.....   不废话

2.  ES6新特性:let和const关键字

  在之前的JavaScript中,变量的定义我们一般都是使用“var”关键字做为定义的,“var”关键字定义的变量存在一个缺点,那就是作用域不明显,有时候明明在私有方法中定义的,却成为了全局变量。从而影响到我们其他的数据操作。所以在ES6中为了解决这个弊端,而引入了“let”和“const”这两个关键字。

  “let”关键字:用作定义私有数据,该变量只在定义的代码块中生效使用,其他地方不会生效被使用的。

  “const”关键字:定义JavaScript中常量,一旦被这个关键字所修饰,其值是无法被修改的。类似于Java中的“final”关键字。

3. ES6新特性:字符串的扩展

  在ES6中为JavaScript原有的字符串操作,提供了三个新的API:

    .includes()方法:   判断是否包含指定字符串,返回值为true、false

    .startwith()方法:  判断该字符串是否以xxx开头,返回值为true、false

    .endwith()方法:   判断该字符串是否以xxx结束,返回值为true、false

4. ES6新特性:解构表达式

  在原来的JavaScript中,我们从一个数组或者对象中获取其中的值,我们需要通过数组的索引值或者对象中的属性名来获取我们所需要的数据,在ES6中,给我我们提供了一个数组和对象解构的方法,我们可以通过解构某个数组或者对象,在通过解构之后的数据名来获取指定的值,从而进行各项数据操作

  数组解构代码:

  

  控制台输出结果:

  

  对象解构代码:

  

  控制台输出:

  

  注意:解构数组时要用中括号“[ ]”,解构对象要用大括号“{ }”

5. ES6新特性:函数优化

  1. 形参默认值的优化

    在原生的JavaScript中,函数的形参如果在不传值时的时候给一个默认值,我们需要在函数之中加以判断来进行定义,用以实现如果传参了就使用所传递的参数,如果没有传参就使用我自定义的默认值来进行操作,代码如下:

    

    控制台输出结果:

    

    ES6的函数优化之后,我们可以在一开始的形参定义之中就给指定的形参进行默认值设置,代码如下:

    

    控制台输出结果:

    

  2. 箭头函数优化

    箭头函数的优化,有多个方面需要注意,比如说当函数形数只有一个时候的定义方式,函数形参有两个或者多个的时候的定义方式以及方法体有一行或者多行的时候的定义方式,代码如下:

    ES6中定义函数的简写方式:

    一个参数:

      

    两个或者多个参数:

      

    没有参数:在没有参数的时候,要用小括号“( )”在形参名的位置定义,作为占位符,不然会报错。

      

    以上的方法体都只有一行代码,当方法体有多行代码的时候:

      

    重要:箭头函数与对象函数属性、解构表达式的结合方式

      1.箭头函数与对象函数属性的结合方式:

        

        

      2. 箭头函数与解构表达式的结合:

        

        

6. ES6新特性:数组的新方法map()和reduce()

  在ES6中,为我们提供了两个新的数组方法,一个是map(回调函数)方法,一个reduce(回调函数,初始值)方法,用法如下:

    map(回调函数): 通过利用所定义的回调函数操作所调用的数组中每一个元素,并且返回一个新的数组对象

    reduce(回调函数,初始值):类似与循环遍历所调用数组中的每一个元素对象,并且执行回调函数,进行运算,它的返回值是回调函数所执行的运算结果

    

    

7. ES6新特性:扩展运算符

  ES6中的扩展运算符就是三个点“...”,用来展开或者说是遍历数组中的每一个元素,用法如下:

  

8. ES6新特性:promise()异步操作对象

  ES6中promise()是一个异步操作对象,所以它的创建方式是new出来的,这个对象可以获取异步操作的信息。而promise对象提供统一的API,各种异步操作都可以用同样的API进行处理。使用方式如下:

  语法:

    

  代码案例:

    

9. ES6新特性:set和map

  ES6中的 set 类似于数组,它和数组的区别在于,数组可以在不同的索引值下存放相同的元素内容而set不行,set是不允许存放相同元素的。

  

  ES6中的 map 类似对于object,它和object的区别在于,object的键值对中的键必须是字符串形式而map中的键可以是任意数据类型的

  

原文地址:https://www.cnblogs.com/qfshini/p/12154517.html

时间: 2024-10-11 05:01:24

ES6语法详解的相关文章

Java8初体验(二)Stream语法详解

原文链接:http://ifeve.com/stream/ 1. Stream初体验 我们先来看看Java里面是怎么定义Stream的: A sequence of elements supporting sequential and parallel aggregate operations. 我们来解读一下上面的那句话: Stream是元素的集合,这点让Stream看起来用些类似Iterator: 可以支持顺序和并行的对原Stream进行汇聚的操作: 大家可以把Stream当成一个高级版本的

Hadoop Hive sql语法详解

Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行,通过自己的SQL 去查询分析需要的内容,这套SQL 简称Hive SQL,使不熟悉mapreduce 的用户很方便的利用SQL 语言查询,汇总,分析数据.而mapreduce开发人员可以把己写的mapper 和reducer 作为插件来支持

[持续交付实践] pipeline:pipeline 使用之语法详解

一.引言 jenkins pipeline语法的发展如此之快用日新月异来形容也不为过,而目前国内对jenkins pipeline关注的人还非常少,相关的文章更是稀少,唯一看到w3c有篇相关的估计是直接翻译软件翻的,读下来惨不忍睹.没办法,语法详解这章我干脆把jenkins官网上的语法说明全部翻译了一遍,并更新了陈旧的内容(可怜了我大学四级的英语水平~),英语好的朋友也可以直接到官网阅读. 二.语法简介 Pipeline最基本的部分是"step".基本上,step告诉Jenkins 要

less中的部分语法详解

less中的语法详解,主要是介绍一些平时常用的语法,如果有更多更实用的语法欢迎大家和我交流. 一.变量. 变量是识别符号是@,在less中以@开头的则是变量,关于变量名的命名方法,大家可以参考js中命名的规则,毕竟是做前端的,有着统一的习惯有助于我们统一风格.个人推荐变量名的命名规则使用驼峰命名法.第一个单词首写字母小写,从第二个开始,单词首写字母大写.如boxAaa,boxBbbb,boxContainer,……,当然也是可是使用香肠命名法用下划线“_”来命名.如,box_main,borde

JSP语法详解

转自:http://www.cnblogs.com/culffe/articles/1142388.htm ———————————————————————————————————— 1)HTML注释: <!-- 注释内容 [ <%= 表达式 %> ] --> 可以用注释内容,也可以用表达式. 2)隐藏注释: <%-- 注释内容 --%> 注释会被JSP编译时被忽略.编译器不会对<%-- --%>之间的语句编译,它不会显示在客户的浏览器和源代码中. 3)声明:

Velocity魔法堂系列二:VTL语法详解

一.前言 Velocity作为历史悠久的模板引擎不单单可以替代JSP作为Java Web的服务端网页模板引擎,而且可以作为普通文本的模板引擎来增强服务端程序文本处理能力.而且Velocity被移植到不同的平台上,如.Net的NVelocity和js的Velocity.js,虽然各平台在使用和实现上略有差别,但大部分语法和引擎核心的实现是一致的,因此学习成本降低不少哦. 最好的学习资源——官网:http://velocity.apache.org/ 本系列打算采用如下结构对Velocity进行较为

Android.mk 文件语法详解

转:http://blog.sina.com.cn/s/blog_602f8770010148ce.html ===================================================================================== 0. Android.mk简介: Android.mk文件用来告知NDK Build 系统关于Source的信息. Android.mk将是GNU Makefile的一部分,且将被Build System解析一次或多次

PL/SQL程序设计基础语法详解(一)

一.什么是PL/SQL(Procedure Language/SQL) 概念:PLSQL是Oracle对sql语言的过程化扩展 指在SQL命令语言中增加了过程处理语句(如分支.循环等),使SQL语言具有过程处理能力. PL/SQL的结构: declare 说明部分 (变量说明,光标申明,例外说明 ] begin 语句序列 (DML语句]- exception 例外处理语句 End; 简单的PL/SQL程序 如果是在命令行中需要使用 set serveroutput on先打开显示 declare

SQLSERVER存储过程语法详解

SQL SERVER存储过程语法: Create PROC [ EDURE ] procedure_name [ ; number ]     [ { @parameter data_type }         [ VARYING ] [ = default ] [ OUTPUT ]     ] [ ,...n ] [ WITH     { RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ] [ FOR REPLICATION ] AS sq