JavaScript 코드가 유효한 TypeScript 코드인가?
현재 나는 배우기 시작했다.TypeScript
. 내가 공부한 문서들 중에서.TypeScript
, 나는 순수한 샘플들을 보았다.JavaScript
코드는 다음과 같이 컴파일할 수 있다.TypeScript
암호를 붙이다
제 질문은: JavaScript 언어가 유효한 TypeScript 코드로 설계되었는가?
즉, 어느 것이든.js
무효를 신청하다.ts
철해 주시겠습니까?
유효한 코드 수단 : 언어 사양과 관련하여 구문론적으로 정확하다고 가정합시다.
그렇다면 대답은 YES이다.
그것은 TypeScript 사양 (두 번째 단락)에 기록되어 있다.
TypeScript는 자바스크립트의 통사설탕이다.TypeScript 구문은 ECMAScript 2015(ES2015)syntax의 상위 집합이다.모든 자바스크립트 프로그램도 TypeScript 프로그램이다.
(내 것)
자바스크립트가 "통제되지 않은" 기본 자바스크립트가 사용되는 것을 가장 원하지 않는 경우가 많다.결국, 그것이 애초에 TypeScript 언어를 만든 이유들 중 하나였다!
그럼에도 불구하고 유효한 자바스크립트 프로그램은 기술적으로 유효한 TypeScript이다.이는 아마도 "역방향 호환성"의 필요성 또는 ECMAScript에 대한 대체의 필요성에 의해 더 잘 공식화된 규격에 있다.
다른 대답의 예를 들려면 Typecript 코드
var testVar = 4;
testVar = "asdf";
동일한 JavaScript 코드로 변환됨(모든 기본 컴파일러 옵션 포함)
TypeScript 오류가 발생하더라도 유효한 javascript 출력이 차단되지는 않는다.「오류가 있는 컴파일」(오류 대신 경고로 불렸으면 좋겠지만, 어쨌든).
참고 항목: https://basarat.gitbooks.io/typescript/content/docs/why-typescript.html
JavaScript가 TypeScript인 경우
TypeScript는 JavaScript 코드에 대한 컴파일 시간 유형 안전을 제공한다.이름만 들어도 놀랄 일이 아니다.좋은 점은 그 유형이 완전히 선택적이라는 것이다.JavaScript 코드 .js 파일은 .ts 파일로 이름을 바꿀 수 있으며 TypeScript는 원본 JavaScript 파일과 동등한 유효한 .js를 다시 제공한다.TypeScript는 형식 확인(선택 사항)이 있는 JavaScript의 상위 집합이다.
이 동작을 비활성화할 수 있는 가장 간단한 옵션(유형 오류가 있더라도 출력 js)은--noEmitOnError
유효한 JavaScript 코드가 아닌 경우 아래 내 예를 참조하십시오.
var testVar = 4;
testVar = "asdf";
TypeScript에 다음 오류가 발생함: 문자열을 숫자로 변환할 수 없음.TypeScript에서 이 작업을 수행하려면 다음과 같이 ":any"를 추가하십시오.
var testVar: any = 4;
testVar = "asdf"
이러한 현상은 TypeScript에서 testVar가 통보되고 선언에서 번호가 할당되므로 번호로 유지되어야 한다고 결정하기 때문에 발생한다.
참조URL: https://stackoverflow.com/questions/20759532/is-any-javascript-code-a-valid-typescript-code
'Programing' 카테고리의 다른 글
Vue UI를 사용하는 동안 Vue 라우터를 구현하는 방법 (0) | 2022.03.25 |
---|---|
VueJS 라이프사이클 후크 내에서 데이터를 설정하는 방법 (0) | 2022.03.25 |
속성에만 적용되는 각도 지시어와 React 등가물은 무엇인가? (0) | 2022.03.25 |
rollBehavior는 Nuxt의 전체 페이지에 영향을 미친다. (0) | 2022.03.25 |
구문 오류: 어휘적으로 바인딩된 이름으로 허용 안 함 (0) | 2022.03.24 |