* JavaScript는 몽키패치(Monkey patch)이다.
- 런타임 중인 프로그램의 내용이 변경되는 행동을 의미한다.
- 런타임 중에 property object를 직접적으로 수정하는 일련의 작업들을 말한다. (JS 기준)
- 몽키 패치는 일반적으로 안티 패턴 (비효율적이거나 비생산적인 패턴)으로 인식된다.
- 이러한 패치들은 런타임 중에 특정 시점에 적용되는 것인데도 불구하고 전역 변수로 적용이 되기 때문에 다른 코드에도 영향을 주고 부작용을 발생시킬 수밖에 없음
* code로 보는 몽키패치
var globalVar = 'global';
console.log(globalVar); // 'global'
console.log(window.globalVar); // 'global';
- window안에 globalVar이라는 변수가 들어가있는것을 확인할 수 있다.
- 이러한 패치는 다른 코드에도 영향을 주어 부작용을 발생시킬 수 있다.
* JavaScript는
- 문법은 자바와 비슷하다.
- 문자열과 배열 그리고 정규표현식은 펄과 유사하다.
- 함수는 오크와 유사하다.
- 클로저, 스코프 환경은 스키마와 유사하다.
- 프로토타입은 셀프와 유사하다.
- 이벤트 -> 하이퍼토크
따라서 자바스크립트는 다른 언어와 굉장히 유사성이 있다.
자바스크립트는 어디에서나 쓸 수 있는 언어이기 때문에 브라우저를 초월해서 다양한 곳에서 작성되는 언어이다.
따라서 실수가 더 많은 곳에서 나올 수 있는 환경이라 더 많은 실수를 할 수가 있다.
때문에 자바스크립트를 클린코드로 작성하는것이 굉장히 중요하다.
'Study > JavaScript(Clean code)' 카테고리의 다른 글
[JavaScript][clean-code] 호이스팅 주의하기 (0) | 2022.05.26 |
---|---|
[JavaScript][clean-code] 임시변수를 제거하자 (0) | 2022.05.26 |
[JavaScript][clean-code] 전역 변수 사용 최소화 (0) | 2022.05.26 |
[JavaScript][clean-code] var를 지양하자 (0) | 2022.05.26 |
[JavaScript][clean-code] 클린코드 리뷰 지적 사항 (0) | 2022.05.26 |