내 일상은 AngularJS를 사용하는 클라이언트 개발자입니다. TypeScript를 사용하고 싶은지 평가하고 있습니다. 나는 typescript에 대해 약간의 연구를 수행했으며 필요한 거의 모든 JavaScript 패키지에는 정의 유형 파일이 있어야합니다. 특히 새로운 것을 시도하고 싶지만 정의가없는 경우에는 매우 편리하지 않습니다. 정말 실망 스럽습니다. (현재 jQuery 정의에서도 typescript 1.5 베타를 사용하려는 경우 몇 가지 문제가 발생합니다). ES6을 살펴보기 시작했으며 TypeScript와 비슷합니다. 대신 ES6를 사용해야합니까? 또한 각도 2가 TypeScript를 완벽하게 지원한다고 들었습니다.
답변
나는 현재 앵귤러 프로젝트에서 약 1 년 반 동안 Typescript를 사용 해 왔으며 지금은 정의에 몇 가지 문제가 있지만 DefinitelyTyped 프로젝트는 가장 인기있는 라이브러리의 최신 버전을 유지하는 데 놀라운 일을합니다.
바닐라 자바 스크립트에서 TS로 전환 할 때 명확한 학습 곡선이 있다고 말하면서 여러분과 팀이 그러한 전환을 수행 할 수있는 능력을 고려해야합니다. 또한 angular 1.x를 사용하려는 경우 온라인에서 볼 수있는 대부분의 예제는 JS에서 TS로 변환해야하며 전반적으로 TS와 angular 1.x를 함께 사용하는 데 많은 리소스가 없습니다. .
각도 2를 사용할 계획이라면 TS를 사용하는 많은 예가 있으며 팀은 TS에서 대부분의 문서를 계속 제공 할 것이라고 생각하지만 각도 2를 사용하기 위해 TS를 반드시 사용할 필요는 없습니다.
ES6에는 몇 가지 멋진 기능이 있으며 개인적으로 친숙해질 계획이지만 현재로서는 프로덕션 준비 언어로 생각하지 않습니다. 주로 현재 브라우저의 지원이 부족하기 때문입니다. 물론 ES6로 코드를 작성하고 트랜스 파일러를 사용하여 ES5로 가져올 수 있습니다. 지금 당장 인기있는 것으로 보입니다.
전반적으로 나는 당신과 당신의 팀이 편안하게 배우는 것에 대한 답을 얻을 것이라고 생각합니다. 개인적으로 TS와 ES6 모두 좋은 지원과 장래의 미래를 가질 것이라고 생각합니다. 언어 기능을 더 빨리 얻고 경향이 있기 때문에 툴링 지원 (제 생각에)이 조금 더 좋습니다.
답변
ES5, ES6 및 TypeScript 사이의 의사 결정 트리
빌드 단계를 수행 하시겠습니까?
- 예 -ES5 사용
- 아니요-계속 진행
유형을 사용 하시겠습니까?
- 예 -TypeScript 사용
- 아니요 -ES6 사용
자세한 내용은
ES5 는 오늘날 브라우저에서 알고 사용하는 JavaScript이며 오늘날의 브라우저에서 실행될 무언가로 변환하는 빌드 단계가 필요하지 않습니다.
ES6 ( ES2015 라고도 함 )은 다음 JavaScript 반복이지만 오늘날의 브라우저에서는 실행되지 않습니다. 브라우저에서 실행하기 위해 ES5를 내보낼 수있는 트랜스 파일러가 많이 있습니다. 여전히 동적 (읽기 : 형식화되지 않은) 언어입니다.
TypeScript 는 선택적 JavaScript를 제공하면서 향후 버전의 JavaScript (ES6 및 ES7)에서 기능을 가져옵니다.
참고 : 많은 트랜스 파일러 (예 : babel, TypeScript)를 사용하면 오늘날의 JavaScript 버전에서 현재 기능을 사용할 수 있으며 오늘날 브라우저에서 계속 실행될 코드를 내보낼 수 있습니다.