Programming
[javascript] for...in 사용시 주의사항 (with prototype)
프로젝트 내에서 공통으로 사용하기 위해서 prototype에 확장함수를 등록하여 사용하던 중 문제가 발생했다. 확장함수를 포함하여 개발된 라이브러리를 html에서 import하고 페이지를 로드하니 정상적으로 동작하던 기능들이 정상동작하지 않는 문제가 발생했다. 일반적으로 Array.prototype.forEach 또는 Array.prototype.map을 사용하여 배열의 요소들을 다뤘는데, 공동으로 작업하다 보니 for (let i in array)와 같은 방법으로 처리한 코드가 존재했기 때문이다. 문제가 발생한 사항은 다음과 같다. if(!Array.prototype.hasOwnProperty('fname')) { Array.prototype.fname = function(){} } for (let i..