JavaScript Syntaxes : Destructuring Assignment, Spread and Rest