ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [learn-typescript] typescript์˜ ์žฅ์ 
    codeStates front-end/Typescript 2023. 7. 3. 16:53
    ๋ฐ˜์‘ํ˜•

     

     

     

    ๐Ÿ“Œ typescript๋ฅผ ์จ์•ผํ•˜๋Š” ์žฅ์ 

     

     

    ๐Ÿ“์žฅ์  1. ์—๋Ÿฌ์˜ ์‚ฌ์ „ ๋ฐฉ์ง€

     

    ํƒ€์ž…์„ ๋ช…๋ช…ํ•˜์—ฌ ์—๋Ÿฌ๋ฅผ ์‚ฌ์ „์˜ ๋ฐฉ์ง€ํ•œ๋‹ค.

     

    app.js
    
    function sum(a, b) {
      return a + b;
    }
    
    app.ts
    
    function sum(a: number, b: number) {
      return a + b;
    }

     

     

    ๐Ÿ‘ฉ‍โš–๏ธ

    js์˜ ๊ฒฝ์šฐ, ํƒ€์ž…์ด number์ด ์™ธ์˜ ํƒ€์ž…์ด ๋“ค์–ด์˜ค๋ฉด client ๋ธŒ๋ผ์šฐ์ €์—์„œ ์—๋Ÿฌ ํ™•์ธ์ด ๊ฐ€๋Šฅํ–ˆ์œผ๋‚˜

    ts์˜ ๊ฒฝ์šฐ, ํƒ€์ž…์ด number ์ด ์™ธ์˜ ํƒ€์ž…์ด ๋“ค์–ด์˜ค๋ฉด ์ฝ”๋“œ์—์„œ ์—๋Ÿฌ๊ฐ€ ๋‚˜๊ธฐ ๋•Œ๋ฌธ์— ์—๋Ÿฌ๋ฅผ ์‚ฌ์ „์˜ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

     

     

     

    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

     

    ํƒ€์ž…์„ ํ™œ์šฉํ•˜์—ฌ ์‚ฌ์ „์˜ ๊ฐ’์ด ๋“ค์–ด์˜ฌ ํƒ€์ž…์— ๋Œ€ํ•ด ๋ฏธ๋ฆฌ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

    // api url
    var url = 'https://jsonplaceholder.typicode.com/users/1';
    
    // dom
    var username = document.querySelector('#username');
    var email = document.querySelector('#email');
    var address = document.querySelector('#address');
    
    // user data
    var user = {};
    
    /**
     * @property {object} Address
     * @property {string} street
     * @property {string} city
     */
    
    /**
     * @typedef {object} User
     * @property {string} name
     * @property {string} email
     * @property {Address} address
     */
    
    /**
     * 
     * @returns {Promise<User>}
     */
    function fetchUser() {
      return axios.get(url);
    }
    
    console.log(fetchUser());
    
    function startApp() {
      // axios
      //   .get(url)
      fetchUser()
        .then(function (response) {
          console.log(response);
          user = response.data;
          // console.log(user);
          // TODO: ์ด๋ฆ„, ์ด๋ฉ”์ผ, ์ฃผ์†Œ ํ‘œ์‹œํ•˜๊ธฐ
          username.innerText = user[1].name;
          email.innerText = user[1].email;
          address.innerText = user[1].address.street;
        })
        .catch(function (error) {
          console.log(error);
        });
    }
    
    startApp();

     

     

    ๐Ÿ“์žฅ์  2. ์ฝ”๋“œ ๊ฐ€์ด๋“œ ๋ฐ ์ž๋™์™„์„ฑ

     

     

    typescript๋Š” ํ•จ์ˆ˜ ์ฝ”๋“œ ์ž๋™์™„์„ฑ ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค.

     

    function add(a: number,b:number) : number{
        return a+b;
    }
    var result = add(10,20);
    
    // ์˜ˆ๋ฅผ ๋“ค์–ด toL๋งŒ ์ณ๋„ ์ž๋™์™„์„ฑ ๊ฐ€๋Šฅ !
    result.toLocaleString();
    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€

Designed by Tistory.