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是關鍵啊。篇中有錯誤歡迎指出,有不懂歡迎留言。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM