-
[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();
๋ฐ์ํ'codeStates front-end > Typescript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[learn-typescript] interface ์ฝ๋ฉ ์์ฑ (0) 2023.07.05 [learn-typescript] ํ ์ผ ๊ด๋ฆฌ ์ฑ JS -> TS ๋ณํ (0) 2023.07.04 [learn-typescript] live server ์ด์ฉํด์ user ์ ๋ณด ๊ฐ์ ธ์ค๊ธฐ (0) 2023.06.28 [TS] ์ ๋ค๋ฆญ (0) 2023.03.23 [TS] ํ์ ์ ํ์ (0) 2023.03.21