js2 [Javascript] Global 변수, Global 함수가 좋지 않은 이유 Javascript에서(다른 언어에서도 마찬가지지만), 변수나 함수를 전역 범위에서 선언하는 것은 두 가지 이유로 인해 권장하지 않는다. 1. Tight coupling2. Name collisions Tight Coupling Tight coupling이란, 각각의 코드들이 서로 지나치게 의존적인 상황이 되는 것을 말한다. coupling이란 두 아이템의 쌍이 함께하는 것을 뜻하는데, 즉 tight coupling은 서로 다른 두 묶음의 코드들이 서로 의존적이어서 어느 한 쪽에 의도치 않은 변화를 일으키는 상황을 뜻한다. var instructor = 'Richard'; function richardSaysHi() { console.log(`${instructor} says 'hi!'`);} 위의 코드.. 2018. 6. 26. [Javascript] 프로토타입 상속(Prototypal Inheritance) function Cat() { this.lives = 9; this.sayName = function () { console.log(`Meow! My name is ${this.name}`); }; }위의 코드에서, 새롭게 생성된 'Cat' object의 'sayName' attribute에 함수를 추가함으로써, sayName() 메소드가 모든 'Cat' Object에 추가된다.문제 없이 잘 동작하는 코드이지만, 만약 이 constructor로 더 많은 'Cat' object들을 초기화하고 싶다면? 각각의 'Cat' object의 sayName을 위한 함수를 매번 생성해야 할 것이다. 뿐만 아니라, 메소드를 수정해야 할 경우 각각의 object들을 일일이 고쳐야 한다.이 경우, 'Cat' construc.. 2018. 6. 2. 이전 1 다음