ES6新特性

一、变量

  • var:重复定义不报错;没有块级作用域;不能限制修改
  • let:变量,不能重复定义,有块级作用域
  • const:常量,不能重复定义,有块级作用域

二、函数/参数

  • 箭头函数——简写:

    • 1.只有一个参数,()可以省
    • 2.只有一个语句,还是return,{}可以省
  • 参数扩展——剩余参数
  • 数组展开

三、模块化

  • 1、sea.js、require.js

    • 规范:CMD 、AMD(区别是什么)
    • seajs作用:按需引用,解决依赖

         // 定义模块
      define(function(require, exports, module) {
      // 1.exports
      // exports.a = 12
      // exports.b = 5
      // 2.require
      let mod2 = require('./mod2.js')
      // 3.module:批量导出
      module.exports = {
      a:12,b:5,c:8,d:7,num:mod2.num,
      show(a,b){
      alert(a+b)
      }
      }
      });
      // 引用模块
      seajs.use(['xxx.js','xxx.js',...],function(mod1,mod2,..){
        
      })
  • 2、nodejs模块化

    • 没有define
    • 有exports、require、module
    • 引用自定义模块
      • 放到node_modules文件夹里面
      • 前面加./ ,例如:./mod1.js
  • 3、ES6模块化

四、数组

  • map(映射):
  • reduce(汇总):
  • filter(过滤):
  • forEach(迭代、遍历):

五、字符串

  • 字符串模板:xxxx${变量}xxx

六、面向对象

  • class
  • super
  • extends

七、promise

  • 作用:解决异步操作
  • 本质:(状态机)等待异步操作结束

    • 当状态改变的时候调用之前挂起的then队列
    • then的时候直接执行对应函数,并且参数给人家
  • 同步——只有操作结束了,才往下执行(一次只能做一个事)

  • 异步——这个操作进行中,其他操作也能开始(一次可以做多个事)

  • 异步的优势:

    • 用户体验好
    • 高效
  • 同步的优势:

    • 简单
  • promise:

 // 创建Promise对象
let p = new Promise(function(resolve,reject){
异步代码...
}); // 使用Promise对象
p.then(()=>{ },()=>{ })

八、generator

  • 本质:无感处理异步操作
  • 普通函数:一直执行到头
  • generator:中间可以暂停
  • yield:
    • 传参
    • 返回值

九、async/await

  • 本质:官方runner

十、json

web全栈架构师[笔记] — 01 ECMAScript6新特性的更多相关文章

  1. web全栈架构师[笔记] — 03 html5新特性

    HTML5新特性 一.geolocation PC端 精度比较低 通过IP库定位 移动端 通过GPS window.navigator.geolocation 单次 getCurrentPositio ...

  2. web全栈架构师[笔记] — 02 数据交互

    数据交互 一.http协议 基本特点 1.无状态的协议 2.连接过程:发送连接请求.响应接受.发送请求 3.消息分两块:头.体 http和https 二.form 基本属性 action——提交到哪儿 ...

  3. 2019最新WEB全栈架构师第八期视频教程

    下载链接:https://www.yinxiangit.com/117.html

  4. 22期老男孩Ptython全栈架构师视频教程

    老男孩Ptython全栈架构师视频教程 Python最新整理完整版22期视频教程 超60G课程容量<ignore_js_op> <ignore_js_op> <ignor ...

  5. 添物零基础到大型全栈架构师 Java实战及解析(实战篇)- 概述

    ​ 实战篇是在基础之上,进一步提升的内容.通过实战篇可以深入理解Java相关框架和库的使用,能够独立开发小模块,或者按照架构师的指导进行代码编写和完善. 主要讲解核心框架和库的使用和使用场景介绍.通过 ...

  6. Kubernetes全栈架构师(基本概念)--学习笔记

    目录 为什么要用Kubernetes? K8s控制节点-Master概念 K8s计算节点-Node概念 什么是Pod? 为什么要引入Pod? 创建一个Pod 零宕机发布应用必备知识:Pod三种探针 零 ...

  7. Kubernetes全栈架构师(Kubeadm高可用安装k8s集群)--学习笔记

    目录 k8s高可用架构解析 Kubeadm基本环境配置 Kubeadm系统及内核升级 Kubeadm基本组件安装 Kubeadm高可用组件安装 Kubeadm集群初始化 高可用Master及Token ...

  8. Kubernetes全栈架构师(资源调度上)--学习笔记

    目录 Replication Controller和ReplicaSet 无状态服务Deployment概念 Deployment的创建 Deployment的更新 Deployment的回滚 Dep ...

  9. Kubernetes全栈架构师(二进制高可用安装k8s集群部署篇)--学习笔记

    目录 二进制高可用基本配置 二进制系统和内核升级 二进制基本组件安装 二进制生成证书详解 二进制高可用及etcd配置 二进制K8s组件配置 二进制使用Bootstrapping自动颁发证书 二进制No ...

随机推荐

  1. Java代码审计入门篇

    作者:i春秋核心白帽yanzmi 原文来自:https://bbs.ichunqiu.com/thread-42149-1-1.html 本期斗哥带来Java代码审计的一些环境和工具准备. Java这 ...

  2. 15:IO之File、Properties类

    第一  File类 一.概述:File类是有文件或文件件封装而来的对象,可以操作其属性信息,这个类的出现弥补了流的不足,流只能操作数据 1.特点: 1)用来将文件或文件夹封装成对象 2)方便于对文件与 ...

  3. JScrollPane的使用

    概述 jScrollPane.js是一个轻量级的滑块插件, 非常方便使用. 在前端工业界(写页面)使用非常广泛, 下面我记录下用法, 供以后开发时参考, 相信对其他人也有用. PS: 想起之前我用im ...

  4. MySql安装与使用(linux)

    安装 MySQL 注意:此处安装是yum安装为例: MySQL安装 #yum install mysql-server 完后显示如下: MySQL初始化 #service mysqld start 查 ...

  5. 如何把checkbox做成radio一样的单选效果

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>复 ...

  6. Oracle 基本知识回顾

    1.查找数据库所用的字符集编码:SELECT USERENV('language') FROM DUAL;2.将一个表中的字段,插入到这个表:INSERT INTO TABLE SELECT * FR ...

  7. 杭州富阳场口科目四考试公交路线(西溪北苑->场口)

    从西溪北苑出发,时间充裕,比较悠闲,打算坐公交前往,也打算做下科目四模拟题,顺便欣赏沿途的风景(去的时候需要看题目,回来的时候可以放松,哈哈哈),路线如下. 早上7点半出发,出去吃个早餐,步行到文一社 ...

  8. iOS开发(0):框架QMUIKit的使用 | 使用第三方UI框架 | cocoapods的使用

    对于移动APP来说,客户端(iOS或android)的界面开发是必不可少的工作.为了减轻界面开发的工作量,也为了提高开发的速度,选择一个良好的界面框架,是有意义的. iOS开源的界面框架有很多,比如c ...

  9. Go命令行参数解析flag包

    go语言提供的flag包可以解析命令行的参数,代码: package main import ( "flag" "fmt" ) func main() { // ...

  10. mysql主从复制总结

    第一步:开启所有MYSQL服务器的BIN日志,每台服务器设置一个唯一的server-id的值(默认是1,一般取IP最后一段) 修改主服务器(master)的my.cnf [mysqld] log-bi ...