This Post describes the usability of Spread and Rest Operations.
Operators define a quick way of implementing complex functionality with a short concise easy to use syntax. ColdFusion exposes multiple operators to ease out the complex operations. With this objective in mind, we have introduced the Spread and Rest Operators.
Spread Operator: Spread Operator allows an Iterable Object(Array/Struct/String) to be expanded into individual elements. The Spread Operator is represented by Three Dots (…).
Syntax:
Array Literals : […iterableObject, 2021, …”ColdFusion”] ;
Object Literals : clonedObject = {…Object};
Function Calls : result = setFunctionValues(…iterableObject);
Lets take some examples to simulate the various use-cases, where a developer can use Spread Operator.
Function Call:
<
cfscript
>
numbers = [1,2,3];
writeDump(sum( ...numbers ));
function sum(required x,required y,required z) {
return x + y + z;
}
</
cfscript
>
<
cfscript
>
numbers = [1,2,3];
list = [...numbers,
'4'
,
'five'
, 6,...numbers]; // [1,2,3,'4','five',6,1,2,3]
writeDump(list);
</
cfscript
>
<
cfscript
>
arr = [...
"12345"
,
"tep"
,...
"ColdFusion"
,
"test"
];
writeDump(arr);
</
cfscript
>
<
cfscript
>
obj1 ={ foo:
'bar'
, x: 42 };
obj2 ={ foo:
'baz'
, y: 13 };
mergedObj1 ={...obj1,...obj2};
writeDump(mergedObj1);
</
cfscript>
<cfscript>
function myFun(a, b, ...manyMoreArgs) {
writeDump(a); // Output: "one"
writeDump(; // Output: "two"
writeDump(manyMoreArgs);// Output : ["three","four","five","six"]
}
myFun("one", "two", "three", "four", "five", "six");
</cfscript>
For more details about the usage of Spread/Rest Operators using ColdFusion Markup Language, Please refer to the documentation links:
- Spread Operator: https://helpx.adobe.com/coldfusion/developing-applications/the-cfml-programming-language/using-expressions-and-number-signs/expressions-developing-guide.html#spread-operator
- Rest Operator: https://helpx.adobe.com/coldfusion/developing-applications/the-cfml-programming-language/using-expressions-and-number-signs/expressions-developing-guide.html#rest-operator
Seems like ashuspeed couldn’t be bothered updating the article. Not too surprising from the CF Team I guess (ping MarkTakata). Anyhow, if anyone else wants to get to the docs page from here… it’s https://helpx.adobe.com/coldfusion/developing-applications/the-cfml-programming-language/using-expressions-and-number-signs/expressions-developing-guide.html#spread-operator
You must be logged in to post a comment.