배열 복사를 존재하는 있는 메서드가 아니기 때문에 가급적 의미에 맞게 사용하는 것을 권장함
2. 스프레드 문법
배열 또는 객체에 사용하면 깊은복사가 됨 (단, 1depth까지)
이터러블 프로토콜을 따름
2. React에서 useState함수에 새로운 배열 또는 객체로 바꿔야하는 방식을 사용해야하는 이유
React에서 배열 또는 객체값을 변경할 때, push를 사용하거나 li[0] = 'name' 이런 식으로 변경하게 되면 틀 자체는 그대로이니(불변성) React가 변경을 감지하지 못한다. React가 변경을 인지하게 하기 위해서 새로운 배열, 객체로 교체하는 방식을 사용해야 한다.