美文网首页
ES6 学习笔记(一)

ES6 学习笔记(一)

作者: 许小花花 | 来源:发表于2018-07-16 16:58 被阅读0次

一、开发环境的搭建

Chrome浏览器已经支持ES6了,但是有些低版本的浏览器还是不支持ES6的语法,这就需要我们把ES6的语法自动的转变成ES5的语法
使用 Babel 来实现 ES6 到 ES5 的编译。

  • 1.首先,对项目进行初始化npm init -y(-y表示全部默认同意),此时会生成 package.json文件
    安装 babel npm install babel-cli -g
    还需本地安装babel-preset-env npm install --save-dev babel-preset-env@next
    安装完成后,可以看到 package.json 文件中多了 devDependencies 选项,内容是上面两个依赖包。
  • 2.新建.babelrc
    在根目录下新建.babelrc文件,并打开录入下面的代码
{
    "presets":[
        "env"
    ],
    "plugins":[]
}
  • 3.. 项目结构
    在总项目目录下创建两个文件夹,分别是 srcdist。其中 src用来书写 ES6 代码,而 dist 用来存放经过编译生成的 ES5 代码。在页面引入时应引入编译后的 ES5 代码,即dist目录下的 js 文件。
    1. 开始
      index.html 中搭起页面的基本架构,并引入 dist/index.js。这个 js 文件是一会用 babel 编译生成的。
      src/index.js中书写 ES6 代码,并保存。
  • 5.编译
    自此,我们可以开始讲 ES6 代码进行编译了。
    babel src/index.js -o dist/index.js
    完成后,查看 dist/index.js可以看到编译完成的 ES5 语句。
  • 6.简化转化命令
    在学习vue 的时候,可以使用npm run build 直接利用webpack进行打包,在这里也希望利用这种方式完成转换。打开package.json文件,把文件修改成下面的样子。
{
  "name": "es6",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "build": "babel src/index.js -o dist/index.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "babel-cli": "^6.24.1",
    "babel-preset-es2015": "^6.24.1"
  }
}

以后就可以通过 npm run build 来进行编译了。

二、声明方式

let
const
var
比较简单,不再赘述。

三、变量的解构赋值

ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。

  • 1.数组的解构赋值
let [a,b,c]=[1,2,3]
let [a,[b,c],d]=[1,[2,3],4];

若解构不成功,比如下面这种情况

let [x,y] = [1] // 右边少 x = 1,y = undefined

若是右边多,解构仍是成功的

  • 2.解构的默认值
    解构赋值是允许你使用默认值的,当右边对应位置值严格等于 undefined 时,默认值将生效。注意 null 并不严格等于 undefined
  • 3.对象的解构赋值
    对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值。
let [foo,bar] = [foo:'aaa',bar:'bbb']   
// foo = 'aaa',bar = 'bbb'
let [baz] = [foo:'aaa',bar:'bbb']   
// baz = undefined
let [foo:bar] =[foo:'aaa',bar:'bbb'] 
// bar = 'aaa',foo:error: foo is not defined

其中,第三个语句中,foo称为匹配的模式,bar才是变量。并不存在foo这个变量。

let [foo,bar] = [foo:'aaa',bar:'bbb'] 
let [foo:foo, bar:bar] = [foo:'aaa',bar:'bbb'] 

上面语句是下面语句的简写。

相关文章

  • [总结]ES6 Array

    学习es6时做得小笔记

  • spark_learn

    Angular2学习笔记——NgModule es6 新增的map和foreach AngularJS2.0 学习...

  • ES6学习笔记 篇零 变量声明

    本文是一系列就阮一峰大神的《ECMAScript 6 入门》的学习笔记。附上篇一:ES6学习笔记 篇一 赋值(传值...

  • ES6学习笔记 篇一 赋值(传值 引用 解构)

    本文是一系列就阮一峰的《ECMAScript 6 入门》的学习笔记。附上篇零:ES6学习笔记 篇零 变量声明 JS...

  • ES6学习笔记 篇二 字符串的用法与扩展

    本文是一系列就阮一峰的《ECMAScript 6 入门》的学习笔记。篇零:ES6学习笔记 篇零 变量声明篇一:ES...

  • promise

    本文是整理阮一峰大神ES6中 Promise 的学习笔记 目录: Promise.prototype.then()...

  • Ant Design Pro的知识储备

    Less 笔记 Less 官方文档 ReactJs笔记 ReactJs官方文档 ES6笔记 ES6文档 dvaJs...

  • 2.let 和 const 命令

    阮一峰ES6教程学习笔记原文地址 1. let和var let:ES6 新增命令用法类似于var,但是所声明的变量...

  • let 和 const 命令

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

  • ES6从入门到...

    项目中基本上用的都是Es6看阮一峰大神的ECMAScript 6 入门整理一些学习笔记 let ES6 新增了le...

网友评论

      本文标题:ES6 学习笔记(一)

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