Salesforce Javascript(四) 展开语法 ...

本篇参考:

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Spread_syntax

Salesforce LWC学习(十六) Validity 在form中的使用浅谈

我们在第十六篇的时候,其中有一段代码是这样的:

let allValid = [...this.template.querySelectorAll('lightning-input')]
            .reduce((validSoFar, inputFields) => {
                inputFields.reportValidity();
                return validSoFar && inputFields.checkValidity();
            }, true);

功能大家肯定都知道,获取页面所有的 lightning-input,然后通过reduce函数,判断页面中的输入框是否验证通过。这个是官方lwc的demo,所以抄来即用。总有一些人研究的很细致,问了一个问题 ...是什么意思呢?不用可以不?因为自己的js也贼烂,所以自己也查了一下,做一下知识扩充。

...又称为展开语法,是es6新出的表达式和运算符行列的一个知识点,功能很强大,通常用于函数和数组,将数组表达式或者string在语法层面展开。详细的使用可以查看MDN的官方描述,针对项目中常用在数组中,常用功能描述如下:

1. 数据copy(等同于 object.assign功能)

var arr = [1, 2, 3];
var arr2 = [...arr]; // like arr.slice()
arr2.push(4);

// arr2 此时变成 [1, 2, 3, 4]
// arr 不受影响

2. 数据连接(等同于 Array.concat)

var arr1 = [0, 1, 2];
var arr2 = [3, 4, 5];
var arr3 = [...arr1, ...arr2]; //此句话等同于var arr3 = arr1.concat(arr2);

总结:es6中还有很多有用的功能待挖掘,学好lwc,js是关键啊。篇中有错误欢迎指出,有不懂欢迎留言。

posted @ 2021-04-08 09:19  zero.zhang  阅读(156)  评论(0编辑  收藏  举报