ES6 컬렉션이 생긴 이유에 대한 질문입니다!

http://hacks.mozilla.or.kr/2015/12/es6-in-depth-collections/

여기에 보면

ES6 컬렉션이 사용자 데이터와 빌트인 메소드 사이의 이름 충돌을 피하기 위해 설계되었기 때문에

검색 테이블(lookup table)로 사용 중인 객체에 메소드를 추가하려면 이름 충돌의 위험을 감수해야 합니다.

이 두개의 구문이 잘 이해가 안되는데요 예시를 들면 이해가 잘 될거같은데 마땅히 예시를 제가 들 수가 없네요
혹시 적절한 예시가 있을까요?

예를 들어 대개 object로 key-value를 저장하기 위해 다음과 같이 사용합니다.

const obj = {  myKey : 'value' };

그런데 hasOwnProperty라는 key를 사용하고 싶은데 이건 기본 object 빌트인 메서드입니다. data와 method가 분리된 컬렉션을 쓰면 자유롭게 key이름을 아무렇게나 쓸 수 있게 됩니다.

이건 똑같은 이야기인데 순서가 거꾸로일 뿐입니다. 데이터를 먼저 넣었다가 나중에 메서드 추가하려고 할 때 데이터에 존재하는 key랑 겹칠 수 있다는 이야기입니다.

1개의 좋아요

제가 너무 어렵게만 생각했네요!!

명쾌한 답변덕분에 이해가 쉬워졌습니다 감사합니다 !!