TypeScript Type

1. Boolean(λΆˆλ¦¬μ–Έ) νƒ€μž…

  • JavaScript와 같은 boolean 값이라고 λΆˆλ¦¬λŠ” μ°Έ(true), κ±°μ§“(false) κ°’

    let isShow: boolean = true;
    let isDone: boolean = false;

2. Number(숫자) νƒ€μž…

  • JavaScript와 같이 TypeScript λ˜ν•œ μ •μˆ˜μ™€ μ‹€μˆ˜μ˜ ꡬ뢄 없이 Number νƒ€μž… ν•˜λ‚˜λ‘œ ν‘œκΈ°

  • TypeScriptλŠ” 이 외에도 μΆ”κ°€λ‘œ bigintλ₯Ό 지원

    let number1: number = 5;
    let number2: number = 0.7;

3. String(λ¬Έμžμ—΄) νƒ€μž…

  • JavaScript와 같이 ν°λ”°μ˜΄ν‘œλ‚˜ μž‘μ€λ”°μ˜΄ν‘œλ₯Ό μ‚¬μš©ν•΄ λ¬Έμžμ—΄ 데이터λ₯Ό ν‘œν˜„

  • λ˜ν•œ 백틱을 μ‚¬μš©ν•œ λ¬Έμžμ—΄μΈ ν…œν”Œλ¦Ώ λ¦¬ν„°λŸ΄μ„ μ‚¬μš©ν•˜λ©΄ μ—¬λŸ¬ 쀄에 걸쳐 λ¬Έμžμ—΄μ„ μž‘μ„± κ°€λŠ₯

    let firstName: string = "coding";
    let lastName: string = 'kim';
    let longString: string = `Ella is a developer.
    He is 20 years old.`

4. Array(λ°°μ—΄) νƒ€μž…

  • JavaScript와 같이 값듀을 λ°°μ—΄λ‘œ λ‹€λ£° 수 있으며, 두 κ°€μ§€ λ°©λ²•μœΌλ‘œ λ°°μ—΄ νƒ€μž…μ„ μ„ μ–Έν•΄ μ‚¬μš© κ°€λŠ₯

  • 첫 번째 방법: λ°°μ—΄μ˜ μš”μ†Œλ“€μ„ λ‚˜νƒ€λ‚΄λŠ” νƒ€μž… 뒀에 배열을 λ‚˜νƒ€λ‚΄λŠ” []을 μ“°λŠ” 것

    let items: string[] = ["apple", "banana", "grape"];
  • 두 번째 방법: μ œλ„€λ¦­ λ°°μ—΄ νƒ€μž…, 즉 Arrayλ₯Ό λ¨Όμ € μž‘μ„±ν•œ λ’€, <> μ•ˆμ— λ°°μ—΄μ˜ μš”μ†Œλ“€μ„ λ‚˜νƒ€λ‚΄λŠ” νƒ€μž… μž‘μ„±

  • λ°°μ—΄ νƒ€μž…μ€ 기본적으둜 ν•˜λ‚˜μ˜ νƒ€μž…λ§Œ μž‘μ„±, νƒ€μž… 혼용 μž‘μ„±μ€ λΆˆκ°€

    let numberList: Array<number> = [4, 6, 10];

5. Tuple(νŠœν”Œ) νƒ€μž…

  • TypeScriptμ—μ„œ νŠœν”Œ νƒ€μž…μ„ μ‚¬μš©ν•˜λ©΄ μš”μ†Œμ˜ νƒ€μž…κ³Ό κ°œμˆ˜κ°€ κ³ μ •λœ λ°°μ—΄ ν‘œν˜„ κ°€λŠ₯

  • λ°°μ—΄μ˜ indexλ§ˆλ‹€ νƒ€μž…μ΄ μ •ν•΄μ Έ 있기 λ•Œλ¬Έμ— μ •ν™•ν•œ index에 μ ‘κ·Ό ν•„μš”

    let user: [string, number, boolean] = ["Ella",  20, true];

6. Object(객체) νƒ€μž…

  • TypeScriptμ—μ„œ κ°μ²΄λŠ” JavaScript와 λ§ˆμ°¬κ°€μ§€λ‘œ μ›μ‹œ νƒ€μž…μ΄ μ•„λ‹Œ νƒ€μž…μ„ λ‚˜νƒ€λƒ„

  • JavaScriptμ—μ„œ Object νƒ€μž…μ€ ν”„λ‘œνΌν‹°λ₯Ό κ°€μ§€λŠ” JavaScript의 값을 λ§ν•˜λ©° typeof μ—°μ‚°μžλ₯Ό μ‚¬μš©ν–ˆμ„ λ•Œ β€œobject”을 λ°˜ν™˜ν•˜λŠ” λͺ¨λ“  νƒ€μž…μ„ μ˜λ―Έν•¨.

    let obj: object = {};
  • TypeScriptμ—μ„œ object νƒ€μž…μ€ λͺ¨λ“  객체λ₯Ό μˆ˜μš©ν•˜λŠ” νƒ€μž…μœΌλ‘œ, 객체의 ν”„λ‘œνΌν‹° νƒ€μž…λ“€μ΄ any둜 μ§€μ •λ˜κΈ° λ•Œλ¬Έμ— μ–΄λ– ν•œ ν”„λ‘œνΌν‹°λΌλ„ μΆ”κ°€ν•  수 있음

  • ν•˜μ§€λ§Œ 객체의 ν”„λ‘œνΌν‹° νƒ€μž…λ“€μ„ 각기 λͺ…μ‹œν•΄ μ£ΌλŠ” 것이 훨씬 μ’‹μŒ

  • κ°μ²΄λŠ” μ•„λž˜ λ°©μ‹μœΌλ‘œ key-value에 ꡬ체적인 νƒ€μž…κΉŒμ§€λ„ μ§€μ •

    let user: {name: string, age: number} = {
      name: "Ella",
      age: 20
    }

7. Any νƒ€μž…

  • μ•Œμ§€ λͺ»ν•˜λŠ” νƒ€μž… ν‘œν˜„μ΄ ν•„μš”ν•˜κ³  νƒ€μž… 검사λ₯Ό ν•˜μ§€ μ•Šκ³ μž ν•  λ•Œ any νƒ€μž… μ‚¬μš© κ°€λŠ₯

    let maybe: any = 4;
  • any νƒ€μž… μ‚¬μš© μ‹œ, λ³€μˆ˜μ— 값을 μž¬ν• λ‹Ήν•˜λŠ” 경우 νƒ€μž…μ„ λͺ…μ‹œν•œ λ³€μˆ˜μ™€ 달리 νƒ€μž…μ— ꡬ애받지 μ•Šκ³  값을 μž¬ν• λ‹Ή κ°€λŠ₯

    let obj: object = {};
    
    // error λ°œμƒ
    obj = "hello";
    
    let maybe: any = 4;
    
    // 정상 μž‘λ™
    maybe = true;
  • λ˜ν•œ μ—„κ²©ν•œ νƒ€μž… 검사λ₯Ό μ§„ν–‰ν•˜μ§€ μ•ŠκΈ°μ— μ‹€μ œ ν• λ‹Ήλœ 값이 κ°€μ§€μ§€ μ•ŠλŠ” λ©”μ„œλ“œ 및 ν”„λ‘œνΌν‹°λ‘œ 접근해도 μ—λŸ¬κ°€ λ‚˜μ§€ μ•ŠμŒ.

  • λŒ€μ‹ , μ‹€μ œ ν• λ‹Ήλœ 값이 κ°€μ§€μ§€ μ•ŠλŠ” λ©”μ„œλ“œ 및 ν”„λ‘œνΌν‹°μ΄κΈ° λ•Œλ¬Έμ— λ°˜ν™˜λ˜λŠ” 값은 undefined

    let maybe: any = 4;
    
    console.log(maybe.length) // undefined
  • λ˜ν•œ any νƒ€μž…μ€ νƒ€μž…μ˜ μΌλΆ€λ§Œ μ•Œκ³ , μ „μ²΄λŠ” μ•Œμ§€ λͺ»ν•  λ•Œ μœ μš©ν•¨.

  • 예λ₯Ό λ“€μ–΄ μ—¬λŸ¬ νƒ€μž…μ΄ μ„žμΈ 배열을 λ°›κ³ μž ν•  λ•Œ 유용

    let list: any[] = [1, true, "free"];
    
    // any둜 닀루고 μžˆκΈ°μ— index 1번째 μš”μ†Œκ°€ boolean νƒ€μž…μ΄λ‚˜, number νƒ€μž…μœΌλ‘œ μž¬ν• λ‹Ή κ°€λŠ₯
    list[1] = 100;

Last updated