javascript object 에서 property 를 제거하려 할 때, 구글링을 해보면 거의 delete
연산자를 쓰라고 한다. 하지만 delete
연산자는 object 자체가 바뀌고(mutable) 또한 메모리에서 제거되는 것도 아니라 한다.
spread operator
를 쓰면 좀 아름답게 만들 수가 있다.
let myObject = {
"ircEvent": "PRIVMSG",
"method": "newURI",
"regex": "^http://.*"
};
const {regex, ...newObj} = myObject;
console.log(newObj); // has no 'regex' key
console.log(myObject); // remains unchanged