1. let、const

  作用:let 声明变量,const 声明常量

  与 var 的区别:不能重复声明,且存在块级作用域,即只在代码块内生效

2. 箭头函数

  使用:

let show = function (a, b) {
    return a + b;
}
alert(show(5, 3))  //结果为8

let show = (a, b) => {
    return a + b;
}
alert(show(5, 3))  //结果为8

  当函数只有一个参数时,可以省略圆括号;当函数体内只有一条return语句时,可以省略函数体

let score = [19, 78, 90, 32, 12, 88]
let r = score.map(item => item >= 60 ? '及格' : '不及格')
alert(r)  

3. 参数扩展:多余的参数可以通过扩展参数接收

let show = function (a, b, ...args) {
    alert(a)
    alert(b)
    alert(args)
}
show(1, 2, 3, 4, 5, 6, 7, 8, 9);

let arr1 = [1, 2, 3]
let arr2 = [4, 5, 6]
let arr = [...arr1, ...arr2]
alert(arr)

4. 解构赋值:左右两边类型必须一致

let [a, b, c] = [1, 2, 3]
console.log(a, b, c)  //结果为:1,2,3

let { a, b, c } = {
    a: 123,
    b: 324,
    c: 54343
}
console.log(a, b, c);  

5. 数组

  5.1 map (映射)

let arr = [12, 5, 8]

let result = arr.map(
    (item) => {
    return item * 2;
    }
)

alert(result)  //结果为24,5,16

  5.2 reduce(汇总)

let arr = [1, 2, 3, 4, 5, 6]
let r = arr.reduce((tmp, item, index) => {
    return tmp + item;
})
alert(r)    //结果为21

let arr = [1, 2, 3, 4, 5, 6]
let r = arr.reduce((tmp, item, index) => {
    if (index != arr.length - 1) {
        return tmp + item;
    } else {
        return (tmp + item) / arr.length
    }
})
alert(r)

  5.3 filter(过滤器)

let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
let r = arr.filter(item => {
    return item % 3 == 0
})

alert(r)    //结果为3,6,9

  5.4 forEach(迭代)

let arr = [12, 5, 8, 9]

arr.forEach(item => {
    alert(item)
})

6. 字符串

  1. startsWith、endsWith:匹配开头和结尾的字符串

let str = "http://xxxxx.jpg"

if (str.startsWith('http')) {
    alert("ok")
} else {
    alert("no")
}

if (str.endsWith('jpg')) {
    alert("ok")
} else {
    alert("no")
}

  2. 字符串模板:支持换行且可以使用 "${ }" 符取值

let title = 'Welcome!'
let content = 'hello es6!'
let str = `
    <div>
    <h1>${title}</h1>
    <p>${content}</p>
    </div>
`
alert(str)

javascript es6 语法快速入门的更多相关文章

  1. Objective-C基础语法快速入门

    Objective-C基础语法快速入门 2010-11-04 16:32 折酷吧 zheku8 字号:T | T 假如我们对面向对象的思维已经C语言都很熟悉的话,对于我们学习Objective-C将会 ...

  2. Less 语法快速入门

    Less 语法快速入门 Less 是一门 CSS 预处理语言其可以运行在 Node 或浏览器端. 它将传统的 css 样式结构单一的排版顺序进行了优化,让我们可以通过层级嵌套的方式将 css 类名与H ...

  3. es6语法快速上手(转载)

    一.相关背景介绍 我们现在大多数人用的语法javascript 其实版本是ecmscript5,也是就es5.这个版本己经很多年了,且完美被各大浏览器所支持.所以很多学js的朋友可以一直分不清楚es5 ...

  4. Markdown 语法快速入门手册

    Markdown 是一种轻量级标记语言,能将文本换成有效的XHTML(或者HTML)文档,它的目标是实现易读易写,成为一种适用于网络的书写语言. Markdown 语法简洁明了,易于掌握,所以用它来写 ...

  5. 《JavaScript ES6 函数式编程入门经典》--推荐指数⭐⭐⭐

    这本书比较基础认真看完再自己写点demo一个双休日就差不多, 总体来说看完还是有收获的,会激起一些你对函数编程的兴趣 主要目录如下: 第1章 函数式编程简介 11.1 什么是函数式编程?为何它重要 1 ...

  6. Vue3语法快速入门以及写一个倒计时组件

    Vue3写一个倒计时组件 vue3 beta版本发布已有一段时间了,文档也大概看了一下,不过对于学一门技术,最好的方法还是实战,于是找了一个比较简单的组件用vue3来实现,参考的是vant的count ...

  7. shell语法快速入门(1)

    #得到绝对路径 DIR=$(cd `dirname $0`;pwd) $DIR/file.txt #去掉#注释 egrep -v "(#|^$)" /etc/zabbix/zabb ...

  8. python语法快速入门(1)

    http://www.runoob.com/python/python-tutorial.html Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节.类似于PHP和Perl语言 ...

  9. T4语法快速入门

    1.什么是T4? T4,即4个T开头的英文字母组合:Text Template Transformation Toolkit.T4(Text Template Transformation Toolk ...

随机推荐

  1. I. Five Day Couple--“今日头条杯”首届湖北省大学程序设计竞赛(网络同步赛)

    题目描述:链接点此 这套题的github地址(里面包含了数据,题解,现场排名):点此 链接:https://www.nowcoder.com/acm/contest/104/H来源:牛客网 题目描述 ...

  2. php5模块pdo、pdo_mysql、mysqli的添加

    一.环境LAMP都是源码安装,PHP安装的时候没有配置pdo_mysql和mysqli,pdo是php5默认带的.PHP5的源码都在,只需要把php5的模块功能扩展就可以了. php源码目录:/usr ...

  3. 2019杭电多校第三场hdu6606 Distribution of books(二分答案+dp+权值线段树)

    Distribution of books 题目传送门 解题思路 求最大值的最小值,可以想到用二分答案. 对于二分出的每个mid,要找到是否存在前缀可以份为小于等于mid的k份.先求出这n个数的前缀和 ...

  4. Spring MVC源码分析(三):SpringMVC的HandlerMapping和HandlerAdapter的体系结构设计与实现

    概述在我的上一篇文章:Spring源码分析(三):DispatcherServlet的设计与实现中提到,DispatcherServlet在接收到客户端请求时,会遍历DispatcherServlet ...

  5. CentOS6.5下RPM包安装MySQL5.6.35

    基本环境:VMware10.0+CentOS6.5+MySQL5.6.35 .查看操作系统相关 shell> cat /etc/issue shell> uname -a .创建需要下载r ...

  6. bzoj1036 树的统计 树链剖分模板

    题意:给出树上任意两点,求路径上的值的和与最大值,带单点修改操作 树链剖分思路: 1.对树进行dfs求出点的深度和父亲节点,然后求出轻重儿子(重儿子就是点最多的那个子树,其余都是轻儿子),用一个son ...

  7. 2019-4-15-VisualStudio-如何在-NuGet-包里面同时包含-DEBUG-和-RELEASE-的库

    title author date CreateTime categories VisualStudio 如何在 NuGet 包里面同时包含 DEBUG 和 RELEASE 的库 lindexi 20 ...

  8. Vue.js 样式绑定(1)

    demo <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <titl ...

  9. 使用EditPlus批量修改文件编码格式

    步骤一: 步骤二: 步骤三: 步骤四:

  10. The chance for love doesn't come around every day.

    The chance for love doesn't come around every day.爱的机会不是每天都有的.