유형 스크립트의 어레이 VS 유형[ ]
속성 유형은 어레이일 때 두 가지 방법으로 정의할 수 있는 것으로 알고 있습니다.
property_name: type
여기서 type은 다음 중 하나입니다.
Array<string>, Array<MyType>, etc. (e.g. let prop1: Array<string>)
그리고.
string[], MyType[], etc. (e.g. let prop1: string[])
두 경우의 차이는 무엇입니까?아니면 제가 뭔가 오해를 하고 있는 걸까요(<<고객명>>님이 캐스팅에 사용되었을 가능성이 있습니다).
질문이 중복으로 표시되어 있기 때문에 편집에 관한 다른 질문이 있는 것은 알고 있습니다만, 투고 전에 확인했습니다만, 다른 []VS <>가 아니라, 타입 「any」에 관한 것이었습니다.
의미상의 차이는 없습니다.
전혀 차이가 없다. Type[]의 배열의 줄임말 구문입니다.Type.Array<Type>는 범용 구문입니다.그들은 완전히 같다.
핸드북은 여기에 예를 제시합니다.이는 다음과 같습니다.
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>.
에 대해서readonly유형 수식자
TypeScript 3.4에서는readonly유형 수식자.정밀도:
그
readonly유형 한정자는 어레이 유형 및 태플 유형의 구문에만 사용할 수 있습니다.
let err2: readonly Array<boolean>; // error!
let okay: readonly boolean[]; // works fine
다음 선언은 다음과 같습니다.readonly boolean[]:
let okay2: ReadonlyArray<boolean>;
고정 길이 배열을 정의할 때는 차이가 있습니다.고정 길이 배열을 정의할 수 없습니다.Array<>, 다음의 단축 구문을 사용할 필요가 있습니다.
const myFunc1 = (arg: [string, number, boolean]) => {
console.log(arg);
};
myFunc1(["hello world", 123, true]);
// error: TS2314: Generic type 'Array ' requires 1 type argument(s).
const myFunc2 = (arg: Array<string, number, boolean>) => {
console.log(arg);
};
myFunc2(["hello world", 123, true])
어쩌면 유용할지도 몰라!
interface IPrintArray<Type> {
list: Type[]
}
function printArray<Type> (props: IPrintArray<Type>) {
return <div> </div>
}
언급URL : https://stackoverflow.com/questions/36842158/arraytype-vs-type-in-typescript
'programing' 카테고리의 다른 글
| TypeScript를 사용한 개방형 함수 인수 (0) | 2023.03.25 |
|---|---|
| React 프로젝트의 .gitignore에 있어야 하는 파일 또는 폴더는 무엇입니까? (0) | 2023.03.25 |
| Unix 명령줄 JSON 파서? (0) | 2023.03.25 |
| golang json marshal: 빈 중첩 구조를 생략하는 방법 (0) | 2023.03.25 |
| 스프링 부트 - 저장소 필드에는 'entityManagerFactory'라는 이름의 빈을 찾을 수 없습니다. (0) | 2023.03.25 |