Skip to content

Commit 57fd84f

Browse files
committed
๐Ÿšฉ: interface ๋ฐฉ์‹๊ณผ ์ธ๋ฑ์Šค ์‹œ๊ทธ๋‹ˆ์ฒ˜
1 parent e67ad39 commit 57fd84f

File tree

4 files changed

+59
-19
lines changed

4 files changed

+59
-19
lines changed

โ€Žsrc/data/arr.tsโ€Ž

Lines changed: 0 additions & 16 deletions
This file was deleted.

โ€Žsrc/data/data.tsโ€Ž

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import { userType } from '../utils/data.interface'
2+
3+
export const arrNumber = [2, 6, 3, 6, 5];
4+
export const arrString = ['1'];
5+
6+
//์ด ๋‘˜์€ ๊ฐ™์€ ํƒ€์ž…์ด๋‹ค. ํƒ€์ž…์„ ๋”ฐ๋กœ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด string์œผ๋กœ ๊ธฐ๋ณธ๊ฐ’์„ ๊ฐ€์ง„๋‹ค. - ํƒ€์ž… ์ถ”๋ก 
7+
let element_1: string = 'bmw';
8+
let element_2 = 'bmw';
9+
10+
const element = {
11+
age: 30,
12+
isAdult: true,
13+
a: [1, 2, 3],
14+
a2: [1, 2, 3],
15+
}
16+
17+
let week1: string[] = ['mon', 'tue', 'wed'];
18+
let week2: Array<string> = ['mon', 'tue', 'wed'];
19+
20+
// export let user: object; //object๋กœ ์„ ์–ธ๋˜์–ด ์žˆ์ง€๋งŒ name์„ ์ฐธ๊ณ ํ•˜๊ฒŒ ๋˜๋ฉด user์— name์ด ์—†๋‹ค๊ณ  ๋‚˜์˜ค๋ฉด์„œ ํŠน์ • ์†์„ฑ๊ฐ’์ด ์—†๋‹ค๋Š” ์—๋Ÿฌ๊ฐ€ ๋‚˜์˜จ๋‹ค.
21+
22+
export let user: userType = {
23+
name: 'dongwoo',
24+
age: 30,
25+
birthYear: 2000,
26+
27+
1: 'A',
28+
2: 'B',
29+
3: 'A',
30+
}

โ€Žsrc/index.tsโ€Ž

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,16 @@
1-
// null, undefined
1+
//object and interface
22

3-
let a: null = null;
4-
let b: undefined = undefined;
3+
import { user } from "./data/data";
4+
5+
console.log(user.name);
6+
7+
user.age = 10;
8+
9+
// user.gender = 'male'; //-> error : user๋ผ๋Š” ๋ฐ์ดํ„ฐ์—๋Š” ํ•ด๋‹น ๊ฐ์ฒด, interface๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค. ํ•˜์ง€๋งŒ ์ด๋ฅผ ์˜ต์…”๋„๋กœ ์ฒ˜๋ฆฌ ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.
10+
11+
user.gender = 'male';
12+
console.log(user.gender); //data ๊ฐ์ฒด์—๋Š” gender๊ฐ€ ์—†์ง€๋งŒ interface์—์„œ '์˜ต์…”๋„'๋กœ ์ฒ˜๋ฆฌํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ์—†์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
13+
14+
// user.birthYear = 1999; //-> error : readonly์†์„ฑ์ด ๋ถ€์—ฌ๋˜์–ด ์žˆ๊ธฐ ๋–„๋ฌธ์— ๊ฐ์ฒด ์ˆ˜์ •์ด ๋ถˆ๊ฐ€๋Šฅ ํ•˜๋‹ค.
15+
16+
console.log(user[1]); //์ธ๋ฑ์Šค ์‹œ๊ทธ๋‹ˆ์ฒ˜ ๋ฐฉ์‹
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
export interface userType {
2+
name: string,
3+
age: number,
4+
// ๋’ค์— "?"๊ฐ€ ์žˆ๋Š” ๊ฒƒ์€ ์˜ต์…”๋„๋กœ gender๋ฅผ ์ž…๋ ฅ์„ ํ•ด๋„ ๋˜๊ณ  ์•ˆํ•ด๋„ ๋˜๋Š” ๋ฐฉ์‹์ด๋‹ค.
5+
gender?: string,
6+
readonly birthYear: number,
7+
//key value ๋ฐฉ์‹์˜ ์ธ๋ฑ์Šค ์‹œ๊ทธ๋‹ˆ์ฒ˜ (ํ”„๋กœํผํ‹ฐ) ์„ ์–ธ
8+
[grade: number]: string;
9+
}
10+
11+
//grade๋ฅผ ๋ฌธ์ž์—ด๋กœ ์„ ์–ธํ•˜๊ธฐ์—๋Š” ๋„ˆ๋ฌด ๊ด‘๋ฒ”์œ„ํ•˜๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋ฅผ ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด ๋ฐฉ์‹์œผ๋กœ ํƒ€์ž…์„ ํ•˜๋‚˜ ์„ ์–ธ ํ•ด๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.
12+
13+
type Score = 'A' | 'B' | 'C' | 'F';
14+
//type์€ ์ •ํ™•ํžˆ ์–ด๋–ค ๊ฒƒ์ธ๊ฐ€?

0 commit comments

Comments
ย (0)