ES6 基础学习】的更多相关文章

现在Chrome浏览器已经很好的支持ES6了,但有些低版本的浏览器或其他浏览器还是不支持ES6的语法,因此实际项目开发或上线过程中就需要把ES6的语法转变成ES5的语法.项目开发过程中 Webpack 有自动编译转换功能,因此免去了环境搭建这一步.但除了Webpack自动编译外,我们还可以用Babel来完成编译.下面搭建一个基本的ES6开发环境. 一.全局安装babel-cli 在CMD终端命令行 或 代码编辑工具(vscode.webstorm) 终端中 输入以下命令,全局安装babel-cl…
ECMAScript 6 标准入门 一.let和const let命令 let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效:是块级作用域,且let不允许在相同作用域内,重复声明同一个变量. { let a = 12; } console.log(a); //Uncaught ReferenceError: a is not defined { let a = 12; let a = 22; } console.log(a); //Uncaught…
概述 Promise是异步编程的一种解决方案,比传统的解决方案(多层嵌套回调.回调函数和事件)更强大也更合理.从语法上说,Promise是一个对象,从它可以获取异步操作的消息,Promise 还提供了统一的 API,各种异步操作都可以用同样的方法进行处理. Promise的出现很好的解决了回调地狱这一难题,在之前ES5中多层嵌套回调时,回调代码层次过多,嵌套太深,时间久了既不利于相关代码的理解也不利于代码后期维护以及后续迭代开发,因此Promise才尤为重要. Promise状态 状态特点: 1…
对象对于JavaScript至关重要,在ES6中对象又加了很多新特性. 对象字面量:属性的简洁表示法 ES6允许对象的属性直接写变量,这时候属性名是变量名,属性值是变量值. let attr1 = "ES6"; let attr2 = 'testDemo'; let testObj = {attr1, attr2}; // console.log(testObj); // Object {attr1: "ES6", attr2: "testDemo&quo…
二进制和八进制数值表示法 ES6提供了二进制和八进制数值的新写法,分别前缀 0b(或0B). 0o(或0O)然后跟上二进制.八进制值即可. 二进制(Binary)表示法新写法:前缀 0b 或 0B. let binary = 0b010101; let binary2 = 0B010111; 八进制(Octal)表示法新写法:前缀 0o 或 0O. let octal = 0o123; let octal2 = 0O1234; 从ES5开始,严格模式下,八进制数值就不再允许用前缀0表示,ES6则…
模板字符串 模板字符串:我理解为将字符串格式化.模板化,将字符串加强处理,此处的模板有动词的意思. 字符串模板基本格式: `xxxxxx`(前后都用反引号[tab键上面按键]引起来).除了作为普通字符串 外:还可以用来定义多行字符串:也可以在字符串中插入变量和表达式,进行字符串内容扩充和计算. 1.普通字符串: let testStr = `ES6 TestDemo`; console.log(testStr); // ES6 TestDemo 2.普通字符串 添加标签.换行符: let tes…
解构赋值概述 1.解构赋值是对赋值运算符的扩展. 2.它是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值. 3.代码书写上显得简洁且易读,语义更加清晰明了:而且还方便获取复杂对象中的数据字段. 解构模型 在解构赋值操作过程中,有下面两部分参与: 1.解构的源:解构赋值表达式的右边部分.如 let a = 1; 2.解构的目标:解构赋值表达式的左边部分.如 let a = 1; JavaScript 数据类型 基本数据类型(值类型):字符串(string).数字(number).布尔(…
ES6)新增加了两个重要的 JavaScript 关键字:let 和 const.以前声明变量时只有一种方式:var,ES6对声明方式进行了扩展,现在可以有三种声明方式了. 1.var:variable的简写,字面意思就是变量. 2.let:let的意思(vt. 允许,让:出租:假设:妨碍:vi. 出租:被承包:n. 障碍:出租屋) 我理解为出租屋.临时的意思.一种临时变量声明方式,既然是临时变量,则该变量的定义.激活以及作用区域也就只在 let 命令所在的代码块内有效. 3.const:常量.…
转载自:ES6 基础 一.新的变量声明方式 let/const 与var不同,新的变量声明方式带来了一些不一样的特性,其中最重要的两个特性就是提供了块级作用域与不再具备变量提升. 通过2个简单的例子来说明这两点. { let a = 20; } console.log(a); // a is not defined 而这个简单的例子,会被编译为: { let _a = 20; } console.log(a); // a is not defined // ES5 console.log(a);…
ES6 基础 一.新的变量声明方式 let/const 与var不同,新的变量声明方式带来了一些不一样的特性,其中最重要的两个特性就是提供了块级作用域与不再具备变量提升. 通过2个简单的例子来说明这两点. { let a = 20; } console.log(a);  // a is not defined 而这个简单的例子,会被编译为: { let _a = 20; } console.log(a);  // a is not defined // ES5 console.log(a);  …