不要用 Eval,使用 ES7 的 Array.prototype.includes() 和 Array.prototype.indexOf()函数

阅读时长 3 分钟读完

不要用 Eval,使用 ES7 的 Array.prototype.includes() 和 Array.prototype.indexOf() 函数

在前端开发中,我们常常需要对数组进行操作。在处理数组时,我们经常会遇到查找元素的需求。而在查找元素时,我们通常会使用 indexOf() 函数。但是,ES7 新增了一个更加方便和易于使用的函数——includes()。相比较于 indexOf() 函数,includes() 函数更加简洁、易读、易于维护。

不要使用 Eval 函数

在 JavaScript 中,我们可以使用 Eval 函数来执行一段字符串作为代码,例如:

但是,Eval 函数存在一些安全性问题。如果我们在执行 Eval 函数时,传入的字符串中包含了恶意代码,就有可能导致代码被注入,从而造成安全漏洞。因此,我们应该尽量避免使用 Eval 函数。

使用 Array.prototype.includes() 函数

ES7 中新增了一个 includes() 函数,用于判断一个元素是否在数组中。这个函数的使用非常简单,只需要传入需要查找的值即可。示例代码如下:

使用 Array.prototype.indexOf() 函数

在 ES6 之前,我们经常使用 indexOf() 函数来查找数组中的元素。这个函数的使用也非常简单,只需要传入需要查找的值即可。示例代码如下:

需要注意的是,indexOf() 函数返回的是元素在数组中的索引值,如果没有找到对应的元素,就会返回 -1。

总结

在前端开发中,我们常常需要对数组进行操作。在处理数组时,我们经常会遇到查找元素的需求。而在查找元素时,我们通常会使用 indexOf() 函数。但是,在 ES7 中,新增了一个更加方便和易于使用的函数——includes()。相比较于 indexOf() 函数,includes() 函数更加简洁、易读、易于维护。因此,我们应该尽可能地使用 includes() 函数,而避免使用 Eval 函数。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/658ce5b5eb4cecbf2d2be2fe

纠错
反馈