… 이라는 마침표 3개를 찍는것이 spread operator 입니다.
JS ES6 문법에 추가되었으며 괄호를 없애주는 역할을 하는 연산자 입니다.
const arr = ['hello', 'world'];
console.log(arr); // ['hello', 'world']
console.log(...arr); // 'hello', 'world'
위 코드처럼 배열 arr 에 spread operator를 사용하면 배열의 괄호를 없애주는 역할을 합니다.
또한 문자열에도 사용을 할수 있습니다.
const name = 'sanghoon';
console.log(...name); // 's','a','n','g','h' ...
위와같은 형태로 문자열에서 사용하면 문자열의 글자 하나하나씩을 쪼개주는 역할을 합니다.
이것이 가능한 이유는 문자열에도 배열(array)와 유사하기 때문입니다. name[0]을 콘솔로 찍어보면
‘s’가 출력되는것을 알수있는데 이처럼 문자열도 배열처럼 대괄호가 쳐져있는 듯이 설계가 되있습니다.
*실제로 배열처럼 되있는건 아닙니다!