前端学习Javascript之ES6详解(一)

前端基础学习

前端基础学习

前端基础学习:本文主要介绍 ES7 的一些新功能, 并与 ES6 的一些 API 进行对比.

ES 全称 ESECMAScript, 是由 ECMA 开发的标准化脚本语言. JavaScript 使用的 ECMAScript 当前版本是 ECMAScript-262.

ECcript 标准基于一些现有的技术, 其中最著名的是 JavaScript  (Netscape) 和 JScript (Microsoft) . 它最初是由网景公司的 Brendan Eich 发明的, 最早出现在网景公司的 Navigator  2.0 浏览器上. 网景2.0和微软 Internet Explorer 3.0 的所有后续浏览器都有它的身影.

ES6 有很多特性, 是在 ES5 发布了近6年 (2009年11月到2015年6月) 之后才被标准化的. 两个版本之间有很长的时间跨度, 所以 ES6 中有很多特性.

ES7 的特性是在 ES6 的基础上进一步优化更新的.

想要学好高级版, 必须打好基础,先学习ES6, 然后在此基础上不断丰富新的方法\语法\写作.


1.前端基础学习之  includes()

includes ()作用,是查找一个值在不在数组里,若是存在则返回  true ,不存在返回 false.

1.基础用法:

['a', 'b', 'c'].includes('a') // true

['a', 'b', 'c'].includes('d') // false

2.接收俩个参数: 要搜索的值和搜索的开始索引

['a', 'b', 'c', 'd'].includes('b') // true

['a', 'b', 'c', 'd'].includes('b', 1) // true

['a', 'b', 'c', 'd'].includes('b', 2) // false

3.与 ES6 中的 indexOf() 比较

有些时候是等效的:

['a', 'b', 'c'].includes('a') // true

['a', 'b', 'c'].indexOf('a') > -1 // true

var arr = [1, 2, 3]


var a = 1;

arr.includes(a) // true

arr.indexOf(a) // 0

在判断 +0 与 -0 时, 被认为是相同的:

[1, +0, 3, 4].includes(-0) // true

[1, +0, 3, 4].indexOf(-0) // 1

只能判断简单类型的数据, 对于复杂类型的数据, 比如对象类型的数组, 二维数组, 这些, 是无法判断的:

var arr = [1, [2, 3], 4]

arr.includes([2, 3]) // false

arr.indexOf([2, 3]) // -1


优缺点比较

includes() 返回的是布尔值,能直接判断数组中存不存在这个值,而 indexOf() 返回的是索引,这一点上前者更加方便.

两者都是采用===的操作符来作比较的,不同之处在于:对于NaN的处理结果不同。我们知道js中 NaN === NaN 的结果是 false , indexOf()  也是这样处理的,但是 includes()  是这样的

let demo = [1, NaN, 2, 3]

demo.indexOf(NaN) // -1

demo.includes(NaN) // true


总结: 由于它对 NaN 的处理方式与 indexOf 不同, 假如你只想知道某个值是否在数组中而并不关心它的索引位置, 建议使用 includes() .如果你想获取一个值在数组中的位置, 那么你只能使用 indexOf 方法.


2.前端基础学习之 求幂运算符

3 ** 2 //9  =>效果同 =>Math.pow(3, 2) //9

由于是运算符,所以可以和 +=一样的用法

var b = 3;
b **= 2;

console.log(b); //9


友情提示: 前端学习有益于软件定制开发, 多媒体研发, 物联网工, AI 人工智能开发, 网站开发, 大数据平台建设及企业信息化应用等业务呈现更优良的效果, 学习前端道阻且长, 加油吧少年!

友情链接:https://www.ccwisdom.com/industrynews/

文案参考:https://www.jianshu.com/p/13c5d002478b