学习ES6--data1】的更多相关文章

一.工具: sublime,node.js,npm 1.安装sublime 的es6插件: (1).在sublime中按Ctrl+`调出console (2).粘贴以下代码到底部命令行并回车(sublime 3): import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path();urllib.request.install_opener( urlli…
背景 周末闲来无事,随便翻看了一下阮一峰老师的<ES6 标准入门>第2版,ps:之前在阮一峰老师的官网看过电子版,感觉干货满满,所以就买了纸质版:当看到第16章第4节 'Promise.prototype.catch()'时,遇到了一个小困惑,下面我们来一起看一下 开胃汤 首先,Promise.prototype.catch方法是用来'捕获Promise回调函数中自然发生或主动抛出的错误',何为自然发生?何为主动抛出? 自然发生的错误: function a() { var x = 1; co…
1.开始学习es6 如果想在浏览器跑es6  需要给es6个环境 因为一直用vue-cli全家桶 这样虽然方便 但如果用es6需要跑起个vue全家桶 于是想到可以用gulp搭建个开发环境 首先需要1. 安装 gulp-babel babel-preset-es2015 Babel是一个广泛使用的ES6转码器,可以将ES6代码转为ES5代码,从而在现有环境执行. cnpm install --save-dev gulp-babel babel-preset-es2015 2.cnpm instal…
我要发免费专题了,向下看 公众号和博客都有一阵没更新了,丢了一些粉儿,但是也很庆幸,时时还会有人关注.我并不是什么专业讲师,文章都是利用业余时间手工原创.在这里非常感谢各位的支持和厚爱. 这个月开始,各平台会慢慢地恢复更新.本篇也是想对我这段时间的情况做一些陈述,以及概述一下接下来的文章计划. 断更原因 断更原因是工(ge)作(ren)比(tou)较(lan)忙(le),同时也在处理个人的一些事情.期间有收到了一些私信和留言,我都有认真阅读和回复.我还在,没有跑路.不要连环发图片轰炸我. 这几个…
[系统学习ES6] 本专题旨在对ES6的常用技术点进行系统性梳理,帮助大家对其有更好的掌握.计划每周更新1-2篇,希望大家有所收获. 以前用ES5时,声明变量只能用var.ES6的出现,为我们带来了两种新的声明方式:let和const.我们可以先简单记忆: var:声明全局变量 let:声明局部变量 const:声明常量 var声明 var在ES6里是用来声明全局变量的,我们先看一个简单的例子: var a = "lemoncool";console.log(a); 控制台输出了&qu…
[系统学习ES6] 本专题旨在对ES6的常用技术点进行系统性梳理,帮助大家对其有更好的掌握,希望大家有所收获. ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构.解构是一种打破数据结构,将其拆分为更小部分的过程. 为何使用解构 传统写法中,从数组或对象中提取特定数据赋值给变量,编写了很多结构相同,变量不同的代码,例如: let option = { name:'foo', type:'string' }; let name = option.name; let type…
第一节:ES6的开发环境搭建 坑1:全局安装babel-cli已经不被官方推荐,改为局部安装(cnpm install babel-cli --save-dev): 坑2:babel src/index.js -o dist/index.js命令失效,可以直接跳过这一步. 想法 相对于来说,这是一个挺好的入门的教程,既没有阮老师写的那么晦涩难懂,也没有各种视频一来就写上一堆代码,毫无侧重点,让人学的简直吐血. 总结 在学习技术的时候,必须要快速入门(尽量三天内).刚开始的时,尽量别看视频,看高赞…
ES6 简要概览 这里是ES6 简要概览.本文大量参考了ES6特性代码仓库,请允许我感谢其作者@Luke Hoban的卓越贡献,也感谢@Axel Rauschmayer所作的[优秀书籍]//exploringjs.com/es6/). 起初当我听说ES6时,我花了很多精力去消化学习其概念和基础知识.我经历了这些,希望你们无需重蹈覆辙.因此我写下了这篇对ES6及其新特性的简要介绍,所有知识点都解释得通俗易懂,简明扼要,对于像我这样的新人非常友好. 简介 ES6,也称作ECMAScript 2015…
一.Iterator (遍历器)的概念: 遍历器(Iterator)就是这样一种机制.它是一种接口,为各种不同的数据结构提供统一的访问机制.任何数据结构只 要部署Iterator接口,就可以完成遍历操作(即依次处理该数据结构的所有成员). Iterator的作用有三个: 一是为各种数据结构,提供一个统一的.简便的访问接口: 二是使得数据结构的成员能够按某种次序排列: 三是ES6创造了一种新的遍历命令for...of循环,Iterator接口主要供for...of消费. 1.在ES6中,有三类数据…
一:Set用法: ES6提供了新的数据结构Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. (1).打印:console.log var data = new Set([1,2,3]); //Set {1, 2, 3} console.log(data); (2).添加: add data.add(4); //Set {1, 2, 3, 4} console.log(data); //Set不会重复添加成员 data.add(4); //Set {1, 2, 3, 4} consol…
一.Symbol类型: 1.ES6引入了一种新的原始数据类型Symbol,表示独一无二的值.它是JavaScript语言的第七种数据类型,前六种是:Undefined.Null. 布尔值(Boolean).字符串(String).数值(Number).对象(Object). let s = Symbol(); typeof s; //"symbol" 2.Symbol函数可以接受一个字符串作为参数,表示对Symbol实例的描述,主要是为了在控制台显示,或者转为字符串时,比较容易区分.…
一.运行及关闭运行: 在上一节中我们用shift+右击在C:\vue\es6文件夹中打开命令行使用:npm run dev,打开了我们的vue界面. 如果要关闭则在命令行中按住ctrl+C则可以关闭. 二.let和const使用方法: (1).在javascript中我们通常使用var会发生变量提升,即脚本开始运行时,变量已经存在了,但是没有值,所以会输出undefined, 而let不会发生变量提升,这表示在声明它之前,变量是不存在的,这时如果用到它,就会抛出一个错误. (2).var 是函数…
背景 在JS的使用场景中,异步操作的处理是一个不可回避的问题,如果不做任何抽象.组织,只是“跟着感觉走”,那么面对“按顺序发起3个ajax请求”的需求,很容易就能写出如下代码(假设已引入jQuery): // 第1个ajax请求 $.ajax({ url:'http://echo.113.im', dateType:'json', type:'get', data:{ data:JSON.stringify({status:1,data:'hello world'}), type:'json',…
ES6 简介 ECMAScript 6 简称 ES6,是 JavaScript 语言的下一代标准,已经在2015年6月正式发布了.它的目标是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言. ECMAScript 和 JavaScript 的关系:前者是后者的语法规格,后者是前者的一种实现 Babel:将ES6代码转为ES5代码 http://babeljs.io/   image 新特性 let.const let 定义的变量不会被变量提升,const 定义的…
ES6 简介 ECMAScript 6 简称 ES6,是 JavaScript 语言的下一代标准,已经在2015年6月正式发布了.它的目标是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言. ECMAScript 和 JavaScript 的关系:前者是后者的语法规格,后者是前者的一种实现 Babel:将ES6代码转为ES5代码 http://babeljs.io/     新特性 1. let.const let 定义的变量不会被变量提升,const 定义的常…
es5 构造函数 实例: function Point(x, y) { this.x = x; this.y = y; } Point.prototype.toString = function () { return '(' + this.x + ', ' + this.y + ')'; }; var p = new Point(1, 2); 作为对象的模板,通过class关键字,可以定义类,相当于创建一个 实例 //定义类 class Point { constructor(x, y) {…
1.背景 在ES6中,我们对类的定义如下 class Person { // 构造函数 constructor (name) { // 属性初始化 this.name = name; } // 成员方法 sayName () { console.log(this.name); } // 静态方法 static sayHi () { console.log("Hi~"); } } 其实本质还是基于javascript原型链机制开发的语法糖 2. 深入setter/getter 2.1 s…
学习博客:https://segmentfault.com/a/1190000016068235…
#第一节 初始化项目 npm init -y 安装babel-cli npm install -g babel-cli npm install --save-dev babel-preset-es2015 babel-cli 根目录新建.babelrc文件 写入一下内容 { "presets": [ "es2015" ], "plugins": [   ] } 转化es6 babel src/index.js -o dist/index.js 自…
最近大部分时间再写dart,突然用到js,发现js不能直接声明一个枚举.搜索发现还是有实现的方式,于是总结一下. 目录 枚举特点 Object.freeze() Symbol 实现 体现不可更改 体现值的唯一性 需要注意的地方 枚举特点 枚举值不能重复 不能被修改 switch case可以直接判断 Object.freeze() Object.freeze() 方法可以冻结一个对象.一个被冻结的对象再也不能被修改:冻结了一个对象则不能向这个对象添加新的属性,不能删除已有属性,不能修改该对象已有…
一.数组的解构: 以前的方式: var arr = [1,2,3]; console.log(arr[0]); //1 console.log(arr[1]); //2 现在的方式: var [a,b,c] = [1,2,3]; console.log(a); //1 console.log(b); //2 数组解构还有以下几种: (1). var [a,[b,c]] = [1,[2,3]]; //1 console.log(a); //2 console.log(b); //3 console…
字符串常量基础 在ES2015之前我们是这么拼接字符串的: var result = 10; var prefix = "the first double digit number I learnt was "; var assembled = prefix + result.toString(); console.log(assembled); // logs => 'the first double digit number I learnt was 10' 在ES2015我…
try/catch 在使用Async/Await前,我们可能这样写: const main = (paramsA, paramsB, paramsC, done) => { funcA(paramsA, (err, resA) => { if (err) return done(err) return funcB(paramsB, (err, resB) => { if (err) return done(err) funcC(paramsC, (err, resC) => { i…
Var var firstVar; //firstVar被声明,它的默认值是undefined var secondVar = 2; //secondVar被声明,被赋值2 先看一个例子: var increment = 1; if (increment === 1){ var increment; //重新声明 //Do something } console.log(increment); //这里会打印出什么? 声明提升 把所有的变量的声明都放到当前代码作用域的开头. 相当于这样: var…
async 函数是什么?一句话,它就是 Generator 函数的语法糖. 使用场景常常会遇到,请求完一个接口,拿完值再去请求另外一个接口,我们之前回调callback函数处理,如果很多的情况下,看起来很冗余,这时我们可以用async函数. 比如我们有两个请求,如下,这里用的axios: function getCode(){ return axios.get('json/code.json'); } function getlist(params){ return axios.get('jso…
1.var JavaScript中,我们通常说的作用域是函数作用域,使用var声明的变量,无论是在代码的哪个地方声明的,都会提升到当前作用域的最顶部,这种行为叫做变量提升(Hoisting) const和let的异同点 相同点:const和let都是在当前块内有效,执行到块外会被销毁,也不存在变量提升(TDZ),不能重复声明. 不同点:const不能再赋值,let声明的变量可以重复赋值. 2.字符串 引用模板字面量进行字符串拼接 可以抛弃以前字符串 + 的操作了. const template…
1.变量提升:(创建->初始化)-->赋值-->修改 就是说,以var声明的变量,它的声明会被提升到当前作用域的顶端(注意是变量声明提升,变量的赋值没有提升) //在if语句中也会提升,跟js的解析顺序有关   <script>     console.log(a);//undefined     var a = 10;     function test(){       console.log(a);//undefined       if(false){        …
什么是面向对象 编程思维分为,面向过程和面向对象 面向过程就像一个人,一间屋子,一个床 一个人走进了屋子,上了床 二面向对象 人,屋子,床 可以是屋子里进了一个人,上了床 或者,屋子里的床上有一个人 面向对象可以减少代码量,二JavaScript中的面向对象,就是一个类里包含了构造函数 类是一个大类,像一个东西的名词,里面的函数就像具体的哪一个东西 class里面必须要有构造函数constructor,如果没有的话,在创建class的时候就会自动生成一个 class的类名后不需要就小括号,里面的…
前言 这篇博客是我在b站进行学习es6课程时的笔记总结与补充. 此处贴出up主的教程视频地址:深入解读ES6系列(全18讲) 1.ES6学习之路 1.1 ES6新特性 1. 变量 2. 函数 3. 数组 4. 字符串 5. 面向对象 6. Promise 7. generator //类似于Promise 8. 模块化 1.2 变量 1.2.1 let.var.const和作用域 知识点: 1. ES6之前的JS只有函数作用域和全局作用域,ES6引入了let后新增了块级作用域,还引入const.…
ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了.它的目标,是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言. 学习ES6之前,我们可以先来看一下各大浏览器的最新版本对ES6的支持,点击这里 我们可以使用以下几种环境去学习ES6 使用最新版本的Chrome或者Chromium 来说一下在Ubuntu下,如何升级到最新的Chromium,需要执行如下命令即可. sudo add-apt-reposito…