โจArray
์ Tuple
๐ท Array
โ๏ธ Array
์์ 1
let list: number[] = [1, 2, 3];
let list: Array<number> = [1, 2, 3];
โ๏ธ Array
์์ 2
// Array
const fruits: string[] = ["๐
", "๐"];
const scroes: Array<number> = [1, 3, 4]; // number[] = [1, 2, 3];
function printArray(fruits: readonly string[]) {
// readonly ๋ผ๋ ํค์๋๋ ๋ง ๊ทธ๋๋ก ์ฝ๊ธฐ ์ ์ฉ
// object์ ๋ถ๋ณ์ฑ์ ์งํค๋ ๊ฒ์ ๋งค์ฐ ์ค์ํ๋ฏ๋ก, readonly๊ฐ ๋ง์ด ์ฌ์ฉ ๋จ
}
๐ท Tuple
Tuple
์ ๋ฐฐ์ด์ ๋ฐฐ์ด์ธ๋ฐ ์๋ก ๋ค๋ฅธ ํ์
์ ๊ฐ์ง ์ ์๋ ๋ฐฐ์ด
โ๏ธ Tuple
์์ 1
// Declare a tuple type
let x: [string, number];
// Initialize it
x = ["hello", 10]; // OK
// Initialize it incorrectly
x = [10, "hello"]; // ๐ฉError
โ๏ธ Tuple
์์ 2
Tuple
์ ์ฌ์ฉํ๋ ๊ณณ์ด๋ผ๋ฉด interface
, type alias
, class
๋ฑ์ผ๋ก ๋์ฒดํด์ ์ฌ์ฉํ๋ ๊ฒ์ ์ถ์ฒ!
- Tuple์ ์ ๊ทผํ ๋์, index๋ก ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ฐ ์ด๋ฌ๋ฉด ์ด๋ค ๋ฐ์ดํฐ๊ฐ ๋ค์ด์๋์ง ๋ฐ๋ก ํ์ธ์ด ์ด๋ ค์ฐ๋ฏ๋ก ๊ฐ๋
์ฑ โฌ๏ธ
โก๏ธ ์ด๋ฐ ๊ฒฝ์ฐ ๊ตฌ์กฐ ๋ถํด ํ ๋น๋ฅผ ํ์ฉํ์!
let student: [string, number];
student = ["name", 123];
student[0]; // name
student[1]; // 123
const [name, age] = student; // ๊ตฌ์กฐ ๋ถํด ํ ๋น Destructuring
โ๏ธ Tuple
์์ 3 useState()
useState()
: ์ฒซ ๋ฒ์งธ์ ๋ ๋ฒ์งธ์ ํ์
์ด ๋ค๋ฅด๋ค. ๋ ๋ฒ์งธ๋ ํจ์ํ
const [num, setNum] = useState(null);