Programing

정렬

lottogame 2020. 7. 20. 20:32
반응형

정렬 Typescript의 VS 유형 []


내가 아는 한 속성 유형은 배열 일 때 두 가지 방법으로 정의 할 수 있습니다.

property_name: type

여기서 type은

Array<string>, Array<MyType>, etc. (e.g. let prop1: Array<string>)

string[], MyType[], etc. (e.g. let prop1: string[])

두 경우 차이점무엇입니까 ? 아니면 내가 잘못 이해하고 있습니까 (아마도 캐스팅에 사용되는 <>에 관한 것입니까?)

질문이 중복으로 표시되어 있기 때문에 수정 , 나는 any []에 대한 다른 질문이 있다는 것을 알고 있지만 여전히 게시하기 전에 그것을 보았고 나에게 다른 [] VS < > 물었다


의미 상 차이가 없습니다

전혀 차이가 없습니다. Type[]는 IS 속기 구문 의 배열 Type. Array<Type>는 IS 일반 구문은 . 그것들은 완전히 같습니다.

핸드북은 여기에 예를 제공 합니다 . 쓰기와 동일합니다.

function loggingIdentity<T>(arg: T[]): T[] {
    console.log(arg.length);
    return arg;
}

또는:

function loggingIdentity<T>(arg: Array<T>): Array<T> {
    console.log(arg.length);
    return arg;
}

다음은 일부 릴리스 노트 에서 인용 한 것입니다 .

특히, number[]의 축약 버전 인 Array<number>것처럼 Date[]위한 속기이다 Array<Date>.

그러나 속기 구문이 필요한 경우가 있습니다.

TypeScript 3.4부터는 유형 수정 자에 차이readonly있습니다. 과연:

readonly유형 수정은 배열 형 및 튜플 타입의 구문을 사용할 수있다

let err1: readonly Set<number>; // error!
let err2: readonly Array<boolean>; // error!

let okay: readonly boolean[]; // works fine

foo: Array

그것은 그것이 배열에 대한 암시 적 any유형을 갖는 일반 배열임을 의미합니다.

foo: string[]

즉, 문자열 배열이라는 것을 의미합니다. 즉, 문자열 이외의 다른 것을 해당 배열로 푸시하려고하면 TypeScript가 정신이 나갑니다.

참고 URL : https://stackoverflow.com/questions/36842158/arraytype-vs-type-in-typescript

반응형