Skip to content

Commit eef1796

Browse files
committed
๐Ÿšฉ: ํ•จ์ˆ˜์™€ ์ธํ„ฐํŽ˜์ด์Šค ๊ทธ๋ฆฌ๊ณ  ์„ ์–ธ ๋ฐฉ์‹
1 parent f27b2f9 commit eef1796

File tree

2 files changed

+32
-14
lines changed

2 files changed

+32
-14
lines changed

โ€Žsrc/index.tsโ€Ž

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,30 @@
1-
//object and interface
1+
import { Add, isAdult } from "./utils/data.interface";
22

3-
import { user } from "./data/data";
3+
//์ผ๋ฐ˜ ํ•จ์ˆ˜
44

5-
console.log(user.name);
5+
// function test(x, y): Add {
6+
// return x + y;
7+
// } //-> ์ž˜๋ชป๋œ ์ผ๋ฐ˜ ํ•จ์ˆ˜ ์„ ์–ธ ๋ฐฉ๋ฒ•
68

7-
user.age = 10;
9+
function test(x: number, y: number): number {
10+
return x + y;
11+
}
812

9-
// user.gender = 'male'; //-> error : user๋ผ๋Š” ๋ฐ์ดํ„ฐ์—๋Š” ํ•ด๋‹น ๊ฐ์ฒด, interface๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค. ํ•˜์ง€๋งŒ ์ด๋ฅผ ์˜ต์…”๋„๋กœ ์ฒ˜๋ฆฌ ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.
13+
const addTest: Add = test;
14+
//์™œ function์— ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ง€์ • ํ•  ์ˆ˜ ์—†๋Š”๊ฐ€?
15+
//TypeScript์—์„œ ํ•จ์ˆ˜ ํƒ€์ž… ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ง์ ‘ ํ•จ์ˆ˜ ์„ ์–ธ์— ๊ธฐ์ž…ํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅ
1016

11-
user.gender = 'male';
12-
console.log(user.gender); //data ๊ฐ์ฒด์—๋Š” gender๊ฐ€ ์—†์ง€๋งŒ interface์—์„œ '์˜ต์…”๋„'๋กœ ์ฒ˜๋ฆฌํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ์—†์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
1317

14-
// user.birthYear = 1999; //-> error : readonly์†์„ฑ์ด ๋ถ€์—ฌ๋˜์–ด ์žˆ๊ธฐ ๋–„๋ฌธ์— ๊ฐ์ฒด ์ˆ˜์ •์ด ๋ถˆ๊ฐ€๋Šฅ ํ•˜๋‹ค.
18+
//์ต๋ช… ํ•จ์ˆ˜
19+
const add: Add = function (x, y) {
20+
return x + y;
21+
}
1522

16-
console.log(user[1]); //์ธ๋ฑ์Šค ์‹œ๊ทธ๋‹ˆ์ฒ˜ ๋ฐฉ์‹
23+
console.log(add(10, 20));
24+
25+
//ํ™”์‚ดํ‘œ ํ•จ์ˆ˜
26+
const isAdult: isAdult = (age) => {
27+
return age > 19;
28+
}
29+
30+
console.log(isAdult(20));
Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,18 @@
1-
//grade๋ฅผ ๋ฌธ์ž์—ด๋กœ ์„ ์–ธํ•˜๊ธฐ์—๋Š” ๋„ˆ๋ฌด ๊ด‘๋ฒ”์œ„ํ•˜๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋ฅผ ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด ๋ฐฉ์‹์œผ๋กœ ํƒ€์ž…์„ ํ•˜๋‚˜ ์„ ์–ธ ํ•ด๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.
2-
31
type Score = 'A' | 'B' | 'C' | 'F';
4-
//type์€ ์ •ํ™•ํžˆ ์–ด๋–ค ๊ฒƒ์ธ๊ฐ€?
52

63
export interface userType {
74
name: string,
85
age: number,
9-
// ๋’ค์— "?"๊ฐ€ ์žˆ๋Š” ๊ฒƒ์€ ์˜ต์…”๋„๋กœ gender๋ฅผ ์ž…๋ ฅ์„ ํ•ด๋„ ๋˜๊ณ  ์•ˆํ•ด๋„ ๋˜๋Š” ๋ฐฉ์‹์ด๋‹ค.
106
gender?: string,
117
readonly birthYear: number,
12-
//key value ๋ฐฉ์‹์˜ ์ธ๋ฑ์Šค ์‹œ๊ทธ๋‹ˆ์ฒ˜ (ํ”„๋กœํผํ‹ฐ) ์„ ์–ธ
138
[grade: number]: Score;
149
}
10+
11+
//ํ•จ์ˆ˜ interface ์„ ์–ธ ๋ฐฉ์‹
12+
export interface Add {
13+
(num1: number, num2: number): number;
14+
}
15+
16+
export interface isAdult {
17+
(age: number): boolean;
18+
}

0 commit comments

Comments
ย (0)