什么是ES6
ES6,是 JavaScript 的一个版本标准,2015横空上世。
ES6 主要是为了解决 ES5 的先天不足,大多数高版本的浏览器也支持 ES6,不过只实现了 ES6 的部分特性和功能。
我在目前的ES6标准中,用了哪些提供的特征。
1.let
我基本在ffor循环,块级范围内用,优点是我不用在每个for里通过var a var i var c 来换名字防止变量被不小心污染,只要有for循环的地方,我只要let i即可。因为它的作用域是块级的。var是全局的。并且在量大时,let 在 for循环的性能上也比较显著。
2.const
const类似于let 只是值不能再被更改
JavaScript ES6
3.幂运算符(**)
这个幂在我工作中还未使用过,但了解一下也无妨。
var x = 5;
var z = x ** 2; // 结果是 25
//x ** y 的结果与 Math.pow(x,y) 相同:
4.默认参数值
这个工作中使用的较多,原来它是es6新增的特征。
function myFunction(x, y = 10) {
// y is 10 if not passed or undefined
return x + y;
}
myFunction(5); // 将返回 15
5.Array.find() (工作中比较实用)
方法返回通过测试函数的第一个数组元素的值,没有找到返回undefined
//查找对象集中是否有某个对象
var temp_bean = this.clasList.find((item) => item.id === this.clasId)
if (!temp_bean) {
this.clasList.push(this.clasOrgBean)
}
}
6.Array.findIndex()
方法返回通过测试函数的第一个数组元素的索引。
//查找数组对象中某个对象的下标并删掉它
const index = children.findIndex(d => d.id === this.clickOrBean.id)
children.splice(index, 1)
<script>
var numbers = [4, 9, 16, 25, 29];
var first = numbers.findIndex(myFunction);
console.log(first)
var first1 = numbers.findIndex(d => d >18) //方式1
console.log(first1)
function myFunction(value, index, array) { 方式1
return value > 18;
}
</script>
箭头函数(Arrow Function)
箭头函数允许使用简短的语法来编写函数表达式。
// ES5
var x = function(x, y) {
return x * y;
}
// ES6
const x = (x, y) => x * y;
您不需要 function 关键字、return 关键字以及花括号。
缺点
箭头功能没有自己的 this。它们不适合定义对象方法。
箭头功能未被提升。它们必须在使用前进行定义。
使用 const 比使用 var 更安全,因为函数表达式始终是常量值。
如果函数是单个语句,则只能省略 return 关键字和花括号。因此,保留它们可能是一个好习惯: