"Announcing TypeScript 4.4 Beta"읽기
5505 단어 TypeScript
Control Flow Analysis of Aliased Conditions
function f(x: string | number | boolean) {
const isString = typeof x === "string";
const isNumber = typeof x === "number";
const isStringOrNumber = isString || isNumber;
if (isStringOrNumber) {
x; // Type of 'x' is 'string | number'.
}
else {
x; // Type of 'x' is 'boolean'.
}
}
if문 밖에서 형 체크해도 그것이 계승되게 된다. 위대한, 실제로 이것을 만났다는 것을 느낀다.
Note that there’s a cutoff – TypeScript doesn’t go arbitrarily deep when checking these conditions, but its analysis is deep enough for most checks.
과연.
Symbol and Template String Pattern Index Signatures
interface Colors {
[sym: symbol]: number;
}
이것을 사용하는 경우는 없었다고 생각한다. 주로 unique symbol를 사용하기 때문에. 하지만 지금까지 표현할 수 없었던 것이 가능하게 된 것은 좋다.
interface OptionsWithDataProps extends Options {
// Permit any property starting with 'data-'.
[optName: `data-${string}`]: unknown;
}
이것은 좋다. string에 할 수밖에 없었던 곳이 엄격하게 할 수 있다.
Defaulting to the unknown Type in Catch Variables ( --useUnknownInCatchVariables )
TypeScript 4.0 allowed users to specify an explicit type annotation of
unknown
이미 할 수 있었던 것인가. opt-in이지만.
This flag is enabled under the
--strict
family of options아, 좋다. 기존 코드에서 일부 오류가 발생할 것 같습니다. 당신이 생각하는 곳에는 몇 가지가 있습니다.
Exact Optional Property Types ( --exactOptionalPropertyTypes )
interface Person {
name: string,
age?: number;
}
// With 'exactOptionalPropertyTypes' on:
const p: Person = {
name: "Daniel",
age: undefined, // Error! undefined isn't a number
};
왜 그런 형태가 되어 있는지 이상하게 생각했던 것이다. 고칠까. 훌륭합니다.
This flag is not part of the
--strict
family오, 미안해.
tsc --help Updates and Improvements
Performance Improvements
Spelling Suggestions for JavaScript
최근에는 JS별로 사용하지 않기 때문에 상관없다.
인레이 힌트
VSCode 사용하지 않기 때문에 혜택을 얻을 수 없다.
정리하면
4.4로 하면, catch는 unknown가 된다. 지금부터 : unknown
붙여 두면 조기 발견할 수 있을까. exactOptionalPropertyTypes는 스스로 유효하게 하지 않으면 안된다.
Reference
이 문제에 관하여("Announcing TypeScript 4.4 Beta"읽기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/daishi/items/b4b6e683fdb8bb8c9f46
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여("Announcing TypeScript 4.4 Beta"읽기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/daishi/items/b4b6e683fdb8bb8c9f46텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)