シナリオの理解(2)
3605 ワード
索引演算子
配列内の項目を取得する場合は、インデックス演算子を使用します.
オブジェクトとは異なり、配列内の非構造化割り当て文には[]記号が使用されます.
for ...in文はオブジェクトをターゲットとして使用します.
for in文は配列のインデックス値を遍歴します.
for ...in文は配列内のインデックス値を巡回しますが、for...of文は、アレイ内のアイテム値を巡回します.次のコードはfor...の構文例です.プロジェクト値のみが必要な場合はfor...inに比べて、その実施はより簡潔である.
配列の関数を作成する場合、number[]などの固定型の関数を作成するよりも、配列内の項目タイプを一度にT[]として表す方が便利です.タイプはTなどの変数として扱われ、JENNERICタイプと呼ばれます.
(Tが型変数であることを示す)
arrayLength.ts
原則として、バイナリ形式で表される関数は、タイプ変数を次の形式で表さなければなりません.
...展開演算子と呼ばれ、アレイにも適用されます.
配列内の項目を取得する場合は、インデックス演算子を使用します.
const numbers :number[] =[1, 2, 3, 4, 5]
for(let index = 0; index < numbers.length; index++){
const item:number = numbers[index]
console.log(item)
}
配列の非構造化割り当てオブジェクトとは異なり、配列内の非構造化割り当て文には[]記号が使用されます.
const array:number[] =[1, 2, 3, 4, 5]
let [first, second, third, ...rest]= array
console.log(first, second, third, ...rest)
for ...文.for ...in文はオブジェクトをターゲットとして使用します.
for in文は配列のインデックス値を遍歴します.
for(변수 in 객체){
...
}
exlet names = ["Jack", "doyoon", "junsung"]
for (const index in names){
const name = names[index]
console.log(`${index}: ${name}`)
}
for ...ドアのfor ...in文は配列内のインデックス値を巡回しますが、for...of文は、アレイ内のアイテム値を巡回します.次のコードはfor...の構文例です.プロジェクト値のみが必要な場合はfor...inに比べて、その実施はより簡潔である.
for(let 변수 of 객체){
...
}
exfor (const name of ["Jack", "doyoon", "junsung"]){
console.log(name)
}
ジェニーンリックタイプ配列の関数を作成する場合、number[]などの固定型の関数を作成するよりも、配列内の項目タイプを一度にT[]として表す方が便利です.タイプはTなどの変数として扱われ、JENNERICタイプと呼ばれます.
const arrayLength = (array: T[]):number => array.length
これによりコンパイラはTの意味を知ることができる.(Tが型変数であることを示す)
arrayLength.ts
export const arrayLength = <T>(array:T[]): number => array.length
export const isEmpt = <T>(array:T[]):boolean => arrayLength<T>(array) == 0
arrayLength-test.tsimport { arrayLength, isEmpt } from "./05/arrayLength";
let numArray:number[] = [1, 2, 3]
let strArray: string[] = ["Hello", "World"]
type IPerson = {name: string, age?: number}
let personArray: IPerson[] = [{name:"doyoon"},{name:"Junsung", age:23}, {name:"seokwon", age:23}]
console.log(
arrayLength(numArray),
arrayLength(strArray),
arrayLength(personArray),
isEmpt([]),
isEmpt([1])
)
ジェニーリック関数のタイプ推論原則として、バイナリ形式で表される関数は、タイプ変数を次の形式で表さなければなりません.
함수이름<타입변수>(매개변수)
exconst identity = <T>(n: T): T => n
console.log(
identity<boolean>(true),
identity(true)
)
展開演算子...展開演算子と呼ばれ、アレイにも適用されます.
let array1: number[] = [1]
let array2: number[] = [1, 2]
let mergedArrat:number[] = [...array1, ...array2, 5]
console.log(mergedArrat)
Reference
この問題について(シナリオの理解(2)), 我々は、より多くの情報をここで見つけました https://velog.io/@doyoon9601/배열의-이해2-46ptjvimテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol