
【計】 escape character
enlarge; expand; extend; ream; spread
【計】 extend; spread-out
【化】 expansion
【醫】 extend
accord with; symbol
在漢英詞典與技術語境中,"擴展符"(Spread Operator)是JavaScript編程語言的核心語法符號,其功能為解構可疊代對象并展開元素。根據ECMA-262國際标準第14.3.5章節定義,該符號由三個連續英文句點(...)構成,正式名稱為SpreadElement語法結構。
該操作符具備雙重功能特性:
Math.max(...
等效于Math.max(1,3,2)
newObj = {...oldObj}
實現淺拷貝MDN Web Docs技術文檔明确指出,擴展符自ES6(ECMAScript 2015)規範引入,支持包括Array、String、Map、Set在内的所有可疊代對象展開操作。在TypeScript 4.2版本更新中,其應用範圍已擴展至元組類型解構。
實際開發場景中需注意:當展開undefined或null值時,ES2020前版本會抛出TypeError異常,新版規範已修正該限制。此語法特性現已被主流浏覽器(Chrome 46+、Firefox 36+)完全支持,成為現代Web開發的标準配置。
擴展運算符(...
)是JavaScript中ES6引入的語法特性,主要用于展開可疊代對象(如數組、對象、字符串等)的元素或屬性。以下是其核心要點:
語法形式
使用三個連續點(...
)表示,可将數組、對象等拆分為單個元素或屬性。
console.log(...[1, 2, 3])
→ 輸出 1 2 3
。let newObj = { ...oldObj }
→ 複制對象屬性。核心用途
數組操作
const merged = [...arr1, ...arr2]
。apply
方法,如Math.max(...array)
。const copy = [...original]
。對象操作
const mergedObj = { ...obj1, ...obj2 }
(相同屬性後者覆蓋前者)。const clone = { ...source }
。其他用途
[...'hello']
→ ['h', 'e', 'l', 'l', 'o']
。[...document.querySelectorAll('div')]
。const arr = [{ a: 1 }];
const copy = [...arr];
arr.a = 2;
console.log(copy.a); // 輸出 2(淺拷貝)
Object.assign()
,但語法更簡潔。如果需要更完整的示例或場景,可參考上述來源網頁的詳細說明。
【别人正在浏覽】