ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的版本标准
文章目录
var 和 let 关键字差异
使用 var 关键字来声明变量,会出现重复声明导致变量被覆盖却不会报错的问题。
var camper = 'James';
var camper = 'David';
console.log(camper);
控制台将显示字符串 David
使用 let 的时候,同一名字的变量只能被声明一次。 请注意 “use strict”。 这代表着开启了严格模式,用于检测常见的代码错误以及“不安全”的行为
"use strict";
x = 3.14;
这将显示一个错误 x is not defined
var 和 let 关键字的作用域
使用 var 关键字来声明一个变量的时候,这个变量会被声明成全局变量,或是函数内的局部变量。
let 关键字的作用与此类似,但会有一些额外的特性。 如果在代码块、语句或表达式中使用关键字 let 声明变量,这个变量的作用域就被限制在当前的代码块、语句或表达式之中。
const 常量
const 拥有 let 的所有优点,不同的是,通过 const 声明的变量是只读的。 这意味着通过 const 声明的变量只能被赋值一次,而不能被再次赋值。
防止对象改变(冻结Object.freeze)
当一个对象被冻结的时候,你不能再对它的属性再进行增、删、改的操作。 任何试图改变对象的操作都会被阻止,却不会报错
et obj = {
name:"FreeCodeCamp",
review:"Awesome"
};
Object.freeze(obj);
箭头函数编写匿名函数
在不需要给函数命名的情况,尤其是在需要将一个函数作为参数传给另外一个函数使用。
这时,我们会创建匿名函数。 因为这些函数不会在其他地方复用
通常使用:
const myFunc = function() {
const myVar = "value";
return myVar;
}
可用箭头函数:
const myFunc = () => {
const myVar = "value";
return myVar;
}
当不需要函数体,只返回一个值的时候,箭头函数允许省略 return 关键字和外面的大括号。
const myFunc = () => "value";
带参数的箭头函数
const doubler = (item) => item * 2;
doubler(4);
如果箭头函数只有一个参数,则可以省略参数外面的括号
const doubler = item => item * 2;
多个参数
const multiplier = (item, multi) => item * multi;
multiplier(4, 2);
设置函数的默认参数
const greeting = (name = "Anonymous") => "Hello " + name;
console.log(greeting("John"));
console.log(greeting());
控制台将显示字符串 Hello John 和 Hello Anonymous
参数 name 会在没有得到新的值的时候,默认使用值 Anonymous
rest 操作符使函数可以接收任意数量的参数
function howMany(...args) {
return "You have passed " + args.length + " arguments.";
}
console.log(howMany(0, 1, 2)