命令行工具
在正式讲解ES6新特性之前,我们需要了解一些命令行工具,在日后的课程中,我们会经常用到命令行
常用命令行工具有两种
CMD 命令行工具
PowerShe门命令行工具
CMD命令行
打开命令行窗口
win: 左下角开始,找到运行,点击,输入cmd,回车
win: win+r 快速打开命令行窗口
mac: command+空格,输入 terminal
选择盘符:盘符名加冒号 E:
查看盘符及目录下文件与文件夹:win:dir mac:ls
清空命令行信息: wn:cls mac:clear
进入文件夹或目录: cd 件名称
返回到上一级目录:cd ./
快速补全目录或文件夹名称: tab
创建文件夹: mkdir 文件夹名称
查看历史输入过的命令:上下按键
PowerShell
打开方式
在开始位智搜索 PowerShell 打开
在对应目录按住 enin +右键,打开
ECMAScript6简介
ECMAScript 和JavaScript 的关系
ECMAScript 和JavaScript 的关系是,前者是后者的规格,后者是前者的一种实现,常场合,这两个词是可以互换的。
名称详解 ECMAScript6(以下简称 ES6)
是JavaScript 语言的标准,在 2015 年6月发布。它的目标,是使得javaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。
ES6带来的新特性
let 和 const 命令
变量的解构赋值
字符串扩展
函数扩展
对象扩展
数组扩展
运算符扩展
Promise对象
Class
Class 继承
nodejs环境安装
本节课为前置课程,在接下来的ES6课程中,我们需要先安装Nodejs环境
Nodejs简介
Nodejs诞生于2009年,主攻服务器方向,使得利用JavaScrit 也可以完成服务器代码的编写
Nodejs安装
Nodejs官网 :https://nodejs.org/en/
Nodeis的安装与一般软件一样
检查是否安装成功命令:node -v 出现版本号表示安装成功
大量的库
在安装 Nodeis 的同时,会附带一个pm 命令npm 是Node的包管理工具,这样正是接下来我们要用到的npm 的简单结构有助于 Node.js 生态系统的激增,现在 npm 仓库托管了超过 1,000,000 个可以自由使用的开源库包。
mpm 镜像
由于服务器在国外,所以下载速度比较慢,我们可以用国内的镜像
阿里镜像地址
https://npmmirror.com/
在命令行运行如下命令即可!(cnpm安装)
npm install -g cnpm --registry=https://registry.npmmirror.com
出现以下表示安装成功,也可通过命令查看是否安装成功:cnpm -v 显示版本号表示安装成功
若安装失败可以再次安装
let命令
ES6 新增了 let 命令,用来声明变量。它的用法类似于 var但是所声明的变量,只在 let 命令所在的代码块内有效。
作用域
var关键字:函数级别作用域
let关键字:块级作用域
<script>if(true){var i=10;}console.log(i);//结果为10if(true){let j=8;}console.log(j);//结果报错,提示为声明j</script>
对比var和let在循环中的应用
var a=[];for(let i = 0;i < 10;i++){a[i] = function(){console.log(i);};
}
console.log(a[6]());//结果是6
结果是6
var b=[];
for(var j = 0;j < 10;j++){b[j] = function(){console.log(j);};
}
console.log(b[6]());//10
结果是10
let不存在变量提升
var 命令会发生“变量提升”现象,即变量可以在声明之前使用,值为undefned 。这种现象多多少少是有些奇怪的,按照一般的逻辑,变量应该在声明语句之后才可以使用
为了纠正这种现象,let 命令改变了语法行为,它所声明的变量一定要在声明后使用,否则报错。
// var 的情况
console.1og(foo); // 输出undefined3
var foo = 2;
// let 的情况
console.log(bar); // 报错ReferenceError6
let bar = 2;
let不允许重复声明
// 报错
function func(){let a = 10:var a = 1;}
// 报错
function func(){let a = 10:let a = l;}
const命令
const 声明一个只读的常量。一旦声明,常量的值就不能改变。
1.const声明之后不允许重新赋值
2.const声明必须声明时直接赋值
const PI = 3.1415:
PI // 3.14152
PI=3;
// TypeError: Assignment to constant variable.
const 声明的变量不得改变值,这意味着,const 一旦声明变量,就必须立即初始化,不能留到以后赋值。
const foo
// SyntaxError: Missing initializer in const declaration
const 的作用域与let命令相同: 只在声明所在的块级作用域内有效
if (true) {
const MAX = 5;
}
MAX // Uncaught ReferenceError: MAX is not defined
const 命令声明的常量也不能提升
if (true) {
console.1og(MAX); // ReferenceError2
const MAX = 5;
}
const 声明的常量,也与 let一样不可重复声明
var message ="Hello!"
let age = 25;
// 以下两行都会报错
const message = "Goodbye!";
const age = 30: