BigInt의 TypeScript 지원

3925 단어 compat-table

묘사

그것은 TypeScript 3.2 브래킷BigInt처럼 보이지만 표에 not supported로 표시되어 있다.

토론 #1

IIRC TypeScript는 이전 엔진 컴파일BigInt을 지원하지 않으며 유형 검사만 지원합니다.

토론 #2

t 구성json
{
  "compilerOptions": {
    "target": "esnext",
    "lib": ["esnext"],
  },
}
let b = 1n;
를 다음으로 컴파일합니다.
네.이 코드는 낡은 엔진에 적용되지 않기 때문에

토론 #셋

에 추가해서는 안 된다.compat-tableWDYM?
이 표는 지원하는 기능을 반영해야 한다...현재 테이블에는 TypeScript에서 BigInt를 지원하지 않음이 표시됩니다.테이블에는 TypeScript의 "이해"내용이 반영되어야 하며 기존 엔진이 실행할 수 있는 내용이 반영되어야 합니다..
예를 들어 위의 코드를 TypeScript로 컴파일하고 NodeJS 11에서 실행합니다.효과가 있다.

토론 #4

토론 #5

의 컴파일러에 대해 이 표는 컴파일된 후에 이 기능은 이 언어의 초기 버전에서 작업해야 한다는 것을 보여 준다.TypeScript 결과를 검사할 수 있습니다. 이것은 TypeScript 해석기가 68%의 ES6만 이해한다는 것을 의미하지 않습니다. 이것은 테스트를 ES5로 컴파일한 후에 68%의 테스트만 작동할 수 있다는 것을 의미합니다.Yes@zloirock 이런 행위는 진정한 쓸모가 없습니다..JavaScript(TypeScript 또는 Babel 사용) 코드를 컴파일하지 않고 같은 컴파일러의 이전 버전에서 실행합니다..왜 혼자서 이걸 필요로 합니까?
응, 표에서 언어 기능을 사용할 수 있는지를 지적해야 해. 목표 환경이 다를 수도 있어...위의 예를 참고하시오.때때로 당신은 오래된 브라우저, 최신 크롬 브라우저, 또는 특정 버전의 노드에서 코드를 실행하고 싶을 때가 있습니다.ES6 #407 참조

토론 #6

@zloirock는 #407에 따라 일부

토론 #7

칸에

토론 #8

를 표시하고 가리키는 footnote를 가리킨다.
이것은 같아야 하지만 각주가 다르다.No@gilamran은 일리가 있어 공관을 마음대로 추가할 수 있습니다.Requires native support or a polyfill 그러나 Bigint 지원은 실제로 전송되거나 멀티태스킹되지 않습니다.나는 여기에 주석을 쓰는 것이 적합하다고 생각하지 않는다. 이 표에서 대답하는 문제는 '내가 어떤 문법을 입력할 수 있느냐' 가 아니라, '내가 안전하게 무엇을 의존할 수 있느냐' 이다.내가 유일하게 의존할 수 있는 것은 로컬 지원이다. 그러면 로컬 엔진만이 옳다고 말할 수 있다.

토론 #9

@ljharb 이것이 바로 주석을 추가한 이유 아닙니까? 이 기기만 지원합니까?그렇지 않으면 모든 컴파일러의

토론 #10

가 항상 빨간색...=>소용 없어.

토론 #11

이것은 결코 쓸모가 없는 것이 아니다. 이것은 지원에 대한 정확한 설명이다.BigInt@ljharb은 영원히 지원되지 않습니다...너는 그것을 채울 수 없기 때문이다.
당신의 목표 플랫폼에 따라 당신은 그것을 실행할 수 있습니다...
이것은 지원하는 정확한 그림입니까?

토론 #12

네!typescript의 사용은bigint를 사용할 수 있는지와 무관하기 때문입니다.

토론 #13

네이티브 지원에 따라 다릅니다.그러면 왜 주석을 하나 달지 않습니까?

토론 #14

TypeScript를 고려하고 있는 개발자는

토론 #15

TypeScript를 사용하면 실패할 것이라고 생각할 수 있습니다.NodeJS는 그것을 완전히 지원하지만, 심지어는 그것을 실현할 수도 있다.bigintTypescript를 추가하거나 삭제하는 것은bigint를 사용하는 능력에 영향을 주지 않기 때문에 Typescript가 지원하지 않습니다.
만약 개발자가 이렇게 생각한다면, 그들은 표를 오독할 것이다.표의 실제 의도를 뚜렷하지 않게 하는 주석은 결코 좋은 절충이 아니다.bigint "TypeScript는 그것을 지원하지 않는다"는 것은 무슨 뜻입니까?
말씀하신 대로 TypeScript는 이 기능을 다운그레이드하지 않고 어느 플랫폼으로 다운그레이드합니까?

토론 #16

TypeScript(

토론 #17

)는 두 가지를 하나로 합친다. 하나는 타자기와 하나는transpiler이다.그것의 유형 검사는 이 표와 전혀 무관하다. 전송된 내용만이 중요하다.transpile bigint를 지원하지 않기 때문에 지원하지 않습니다. 아주 간단합니다.

토론 #18

말씀하신 대로 BigInt를 전송할 수 없습니다...이 건전지는 언제 녹색으로 변합니까?
일년두 개?열 개?여태껏언젠가는 BigInt이 모든 주요 플랫폼을 지원할 것입니다...tsc TypeScript는 결코 지원하지 않습니다.바벨도 영원히 푸르지 않을 거야.

토론 #19

네, 알겠습니다.당신의 시간과 노력에 감사 드립니다!

토론 #20

@ljharb

토론 #21

는 녹색일 수 있고 1년 넘게 공공 관계를 제공할 수 있지만 성능 때문에 좋은 생각이 아니라고 생각합니다.

토론 #22

@zloirock장터:-).나는 typescript도 이와 같다고 믿는다. (성능 때문에 그들은 이렇게 하지 않을 것이다.)

좋은 웹페이지 즐겨찾기