TypeScript와 호환성인터넷에서 모든 사용자가 볼 수 있는 사이트를 만든다고 했을 때, 현재, 기능적인 하한선은 Internet Explorer 11 4입니다 (그러나, 우리나란 IE6까지 호환하는 걸 원하는 막장 상황). Google 검색 엔진 로봇도 이와 거의 똑같은 기능(const, let이 있는 클래스 제외)인 Chrome 41로 고정되어 있습니다. 그렇지만, 버전업이 더이상 지원되지 않는 iOS 및 Android 스마트폰의 경우엔 최신 기능이 작동하지 않을 수 있습니다. 브라우저 이외에, Google Apps Script가 ECMAScript3에만 대응하고 있습니다. 브라우저 호환성 100%를 만들고 유지한다는 것은 개발 자원이 아무리 많아도 불가능합니다. 그래서 공수와 현실적인 부분을 고..
JavaScript 버전최근 JavaScript 사양은 커뮤니티에서 논의되고 있습니다. TC39라는 ECMA 내부의 Technical Committee가 바로 그곳입니다. 클래스 등 대폭적인 기능 추가가 이루어진 ES6는 정식 릴리즈 때 ECMAScript 2015라는 정식 명칭이 부여됐으며, 이후로는 릴리즈 연도를 버전 이름으로 사용하고 있습니다. 논의 결과와 현재 올라있는 제안들은 모두 GitHub에서 볼 수 있습니다. https://github.com/tc39/proposals 기능 단위로 제안이 이루어집니다. 처음에는 stage 0에서 시작하여 stage 1, stage 2으로 분기됩니다. 처음에는 아이디어로 시작하여 서서히 제대로 된 사양과 데모, 참고 구현 등 잘 동작한다는 결과(검증)를 요구..
[자바스크립트 강좌 002] 프로그래밍 유형과 javascript 단점 자바스크립트와 객체지향 프로그래밍자바스크립트는 클래스를 지원하지 않지만 객체지향 프로그래밍이 가능하다. 프로토타입 체인과 클로저로 객체지향 프로그래밍에서 제시하는 상속, 캡슐화, 정보 은닉 등의 개념을 소화할 수 있다. 실제로 GOF의 디자인 패턴을 자바스크립트로 구현한 코드들이 많이 공개되어 있고, 많은 개발자의 관심을 받고 있다. 자바스크립트와 함수형 프로그래밍자바스크립트는 함수형 프로그래밍이 가능하다. 함수형 프로그래밍은 높은 수준의 모듈화를 가능케 하는 매우 효율적인 프로그래밍 방법이다. 자바스크립트는 주요 특성인 일급 객체로서의 함수 특성과 클로저를 활용하여 이를 가능케 한다. 하지만 이 때문에, 가독성을 떨어뜨리기도 한다...