타이프 스크립트 대.자바 스크립트:차이를 이해

월드 와이드 웹은 기본적으로 자바 스크립트에서 실행됩니다. 불행하게도,자바 스크립트는 개발자가 대규모 응용 프로그램에 사용할 도움이 될 몇 가지 기능이 부족하다. 타이프 스크립트를 입력합니다.

자바스크립트란?

자바스크립트는 넷스케이프 네비게이터 웹 브라우저의 스크립팅 언어로 시작되었고,브렌든 아이치는 1995 년에 10 일 동안 프로토타입을 작성했다. 이름 자바 스크립트는 썬 마이크로 시스템의 자바 언어에 고개를 끄덕이다,두 언어는 매우 다르지만,이름의 유사성은 지난 몇 년 동안 상당한 혼란을 주도하고있다. 크게 진화 자바 스크립트는 이제 모든 현대적인 웹 브라우저에서 지원됩니다.

자바스크립트 언어

자바스크립트는 다중 패러다임 언어입니다. 그것은 곱슬 대괄호 구문과 세미콜론을 가지고 있습니다. 그것은 약한 동적 타이핑을 가지고 있으며 해석되거나(더 자주)시간에 맞춰 컴파일됩니다. 일반적으로 자바스크립트는 단일 스레드이지만 다중 스레딩을 수행하는 웹 작업자 및 이벤트,비동기 함수 호출 및 콜백이 있습니다.

자바스크립트는 2015 년 자바스크립트 6 에 사용된 클래스 상속이 아닌 프로토타입을 사용하여 객체 지향 프로그래밍을 지원한다. 자바 스크립트는 또한 클로저,재귀 및 람다(익명 함수)를 포함한 함수형 프로그래밍을 지원합니다.

자바 스크립트 이전 언어에는 꼬리 호출 최적화가 없었습니다.; 이제 엄격 모드('use strict')를 켜서 활성화해야하지만 구현은 브라우저마다 다릅니다. 엄격 모드는 자바 스크립트의 의미를 변경하고 오류를 던져 일부 일반적으로 자동 오류를 변경합니다.

표준화된 자바스크립트 언어의 이름은 자바스크립트(자바스크립트),자바스크립트(자바스크립트),자바스크립트(자바스크립트),자바스크립트(자바스크립트),자바스크립트(자바스크립트),자바스크립트(자바스크립트)이다. 2020 은 현재 표준 초안입니다.

자바스크립트 언어의 맛을 보여주는 간단한 예로서,다음은 자바스크립트 언어가 낮인지 저녁인지 결정하고 브라우저의 문서 객체에 있는 명명된 웹 요소에 적절한 인사말을 동적으로 넣는 몇 가지 코드입니다:

var hour = new Date().getHours();
var greeting;
if (hour < 18) {
greeting = "Good day";
} else {
greeting = "Good evening";
}
document.getElementById("demo").innerHTML = greeting;

자바스크립트 생태계

자바스크립트 생태계에는 수많은 자바스크립트 생태계가 있다. 일부는 위에 표시된 코드의document처럼 브라우저에서 제공되고 일부는 제 3 자가 제공합니다. 일부는 클라이언트 쪽 사용,일부는 서버 쪽 사용,일부는 데스크톱 사용 및 둘 이상의 환경에 적용됩니다.

브라우저 Api 를 포함 DOM(document object model)와 브라우저 객체 모델(BOM),지리적 위치,캔버스(그래픽),WebGL(GPU 가속화된 그래픽스),HTMLMediaElement(오디오 및 비디오),그리고 WebRTC(실시간 커뮤니케이션).

제 3 자 아피스가 풍부합니다. 일부는 구글 맵과 같은 전체 응용 프로그램에 대한 인터페이스입니다. 이 유틸리티에는 다음과 같은 유용한 정보가 포함되어 있습니다. 일부는 익스프레스와 같은 특정 목적을 위해 응용 프로그램 프레임 워크입니다;익스프레스의 경우,목적은 노드에 웹 및 모바일 응용 프로그램 서버를 구축하는 것입니다.제이에스 다른 프레임 워크의 수는 익스프레스의 상단에 내장되어 있습니다. 2016 년,나는 동물원의 무언가가되고 있었는지 이해하기위한 노력의 일환으로 22 자바 스크립트 프레임 워크를 논의;이러한 프레임 워크의 대부분은 여전히 한 형태 또는 다른에 존재하지만,몇몇은 길가에 의해 갔다.

더 많은 자바 스크립트 모듈이 있습니다,위에 300,000. 이 문제를 해결하기 위해 노드의 기본 패키지 관리자 인 패키지 관리자를 사용합니다.제이에스

웹팩은 자바 스크립트 모듈을 브라우저의 정적 자산으로 묶습니다. 브라우저 화는 개발자가 노드를 쓸 수 있습니다.브라우저에서 사용하기 위해 컴파일하는 스타일 모듈. 꿀꿀 거리는 소리는 파일 중심의 자바 스크립트 작업 주자이며,꿀꺽는 스트리밍 빌드 시스템과 자바 스크립트 작업 주자입니다. 꿀꿀 거리는 소리와 꿀꺽 꿀꺽 마시는 것 사이의 선택은 결정적이지 않습니다. 나는 주어진 프로젝트에 대해 설정 한 것을 설치하고 사용합니다.

컴파일이 없을 때 자바스크립트 코드를 더욱 안정적으로 만들기 위해 린터를 사용합니다. 이 용어는 표준 유닉스 유틸리티였던 언어 린트 도구에서 유래했습니다. 그리고 그 중 일부는 다음과 같습니다. 코드 변경 후 작업 러너 또는 아이디를 사용하여 린터 실행을 자동화 할 수 있습니다. 다시 말하지만,린터들 사이의 선택은 분명하지 않으며,주어진 프로젝트에 대해 설정 한 것을 사용합니다.

편집자와 십오라고 말하면,가장 최근에 2019 년에 6 개의 자바 스크립트 십오 및 10 개의 자바 스크립트 편집기를 검토했습니다. 내 최고의 선택은 숭고한 텍스트(매우 빠른 편집기),비주얼 스튜디오 코드(구성 가능한 편집기/이디)및 웹 스톰이었습니다.

트랜스필러는 커피스크립트나 타이프스크립트와 같은 다른 언어를 자바스크립트로 번역하고,현대 자바스크립트를(거의)모든 브라우저에서 실행되는 기본 자바스크립트로 번역할 수 있게 한다. (모든 베팅은 인터넷 익스플로러의 초기 버전에 대한 꺼져.)현대 자바 스크립트에 대한 가장 일반적인 트랜스 페일러는 바벨입니다.

타이프 스크립트란?

타이프라이터는 일반 자바스크립트로 컴파일되는 자바스크립트의 형식화된 상위 집합입니다. 오픈 소스 타이프 스크립트 명령 줄 컴파일러는 노드로 설치할 수 있습니다.패키지. 타이프 스크립트 지원은 비주얼 스튜디오 2017 및 비주얼 스튜디오 2019,비주얼 스튜디오 코드 및 웹 스톰과 함께 제공되며 숭고한 텍스트,아톰,이클립스,이맥스 및 정력에 추가 할 수 있습니다. 타이프 스크립트 컴파일러/트랜스 파일러 타이프 스크립트로 작성되었습니다.

타이프 스크립트는 자바 스크립트에 선택적 유형,클래스 및 모듈을 추가하고 모든 운영 체제의 모든 브라우저,모든 호스트에 대한 대규모 자바 스크립트 응용 프로그램을위한 도구를 지원합니다. 타이프 스크립트에 대한 많은 다른 승리 중,인기있는 각도 프레임 워크는 타이프 스크립트에 개정되었습니다.

자바스크립트 개발자는 자바스크립트 응용 프로그램을 개발할 때 정적 검사 및 코드 리팩토링과 같은 매우 생산적인 개발 도구와 방법을 사용할 수 있습니다.

형식은 선택 사항이며 형식 추론을 사용하면 몇 가지 형식 주석이 코드의 정적 확인에 큰 차이를 만들 수 있습니다. 유형을 사용하면 소프트웨어 구성 요소 간의 인터페이스를 정의하고 기존 자바 스크립트 라이브러리의 동작에 대한 통찰력을 얻을 수 있습니다.

타이프스크립트는 자바스크립트 기능의 최신 기능을 지원한다.

타이프스크립트 언어

타이프스크립트 언어는 자바스크립트를 유효한 것으로 허용하지만,타입 주석,컴파일 타임의 타입 검사,클래스 및 모듈의 추가 옵션을 제공한다. 이러한 모든 강력한 소프트웨어를 생산 하려고 할 때 대단히 유용 합니다. 일반 자바 스크립트는 런타임에 오류를 생성 한 다음 프로그램이 오류가있는 경로에 도달하는 경우에만 발생합니다.

타이프 스크립트 5 분 튜토리얼은 이점을 분명히합니다. 출발점은 순수 자바 스크립트입니다.확장:

function greeter(person) {
return "Hello, " + person;
}
let user = "Jane User";
document.body.textContent = greeter(user);

확장.

이 자습서에서는 함수 정의에 유형 주석person:string을 추가하고,컴파일하고,컴파일러에서 유형 검사를 테스트하고,person유형에 대한 인터페이스를 추가하고,마지막으로Student에 대한 클래스를 추가하는 단계적으로 이 코드를 변경했습니다. 최종 코드는:

class Student {
fullName: string;
constructor(public firstName: string, public middleInitial: string,
public lastName: string) {
this.fullName = firstName + " " + middleInitial + " " + lastName;
}
}
interface Person {
firstName: string;
lastName: string;
}
function greeter(person: Person) {
return "Hello, " + person.firstName + " " + person.lastName;
}
let user = new Student("Jane", "M.", "User");
document.body.textContent = greeter(user);

이 컴파일하고 방출 자바 스크립트를 보면,당신은 타이프 스크립트의 클래스는 일반 자바 스크립트에서 사용되는 동일한 프로토 타입 기반 상속 단지 속기 것을 볼 수 있습니다. 속성person.firstNameperson.lastName은 컴파일러에서Student클래스 생성자에서public특성을 볼 때 자동으로 생성되며Person인터페이스로 이월됩니다. 예를 들어,Student의 인스턴스화로 줄 끝을 삭제하면 다음과 같이 문제 탭에 오류 메시지가 표시됩니다.:

자바스크립트에서 마이그레이션 자습서에서는 기존 자바스크립트 프로젝트를 업그레이드하는 방법에 대해 자세히 설명합니다. 설치 단계를 건너 뛰는,이 방법의 핵심은 이름을 변경하는 것입니다 당신의.에 파일.한 번에 하나씩. (파일이 반응에서 사용하는 확장명을 사용하는 경우 이름을 변경해야 합니다.오히려.티스)그런 다음 오류 검사를 강화하고 오류를 수정하십시오.

무엇보다도 모듈 기반require()또는define()문을 타이프 스크립트 가져 오기 문으로 변경하고 사용하는 라이브러리 모듈에 대한 선언 파일을 추가해야합니다. 또한 타이프 스크립트export문을 사용하여 모듈 내보내기를 다시 작성해야합니다. 타이프 스크립트는 노드와 같은 공통 모듈을 지원합니다.제이는 않습니다.

잘못된 인수 수에 대한 오류가 발생하면 타이프 스크립트 함수 오버로드 서명을 작성할 수 있습니다. 즉,자바 스크립트가 부족한 중요한 기능입니다. 마지막으로 자신의 함수에 형식을 추가하고 적절한 경우 인터페이스 또는 클래스를 사용해야합니다.

당신은 일반적으로 공개 도메인 자바 스크립트 라이브러리에 대한 자신의 선언 파일을 작성할 필요가 없습니다. 이 프로그램은 자바 바이트코드 프로그램의 갯수를 카운트하고,스크립트의 메인 형식을 합계냅니다,그리고 확인되지 않은 실행 텍스트 파일을 찾습니다.. 유형 검색 페이지를 사용하여 선언을 찾을 수 있습니다.

모든 자바스크립트 파일을 타이프스크립트로 변환하고 형식을 강화하며 오류를 없애면 훨씬 더 강력한 코드 기반을 갖게 됩니다. 테스터 또는 사용자가보고 한 런타임 오류를 지속적으로 수정하는 대신 가장 일반적인 오류를 정적으로 감지 할 수 있습니다.

앤더스 하일스버그가 타이프스크립트에 대해 토론하는 것을 지켜볼 가치가 있다. 당신이 그에게서 듣게 될 것입니다으로,타이프 스크립트는 확장 자바 스크립트입니다.

답글 남기기

이메일 주소는 공개되지 않습니다.