Skip to content

Commit 4c4de90

Browse files
authored
๐Ÿ”€: Udemy/Ts/section5/59 : classs (#35)
* ๐ŸŒฑ: README์„ ์ˆ˜์ • Github์—์„œ ์ˆ˜์ •ํ•œ ์ปค๋ฐ‹์ž…๋‹ˆ๋‹ค. * ๐ŸŒฑ: README์„ ์ˆ˜์ • Github์—์„œ ์ˆ˜์ •ํ•œ ์ปค๋ฐ‹์ž…๋‹ˆ๋‹ค. * ๐ŸŒฑ: README์„ ์ˆ˜์ • Github์—์„œ ์ˆ˜์ •ํ•œ ์ปค๋ฐ‹์ž…๋‹ˆ๋‹ค. * ๐ŸŒฑ: README์„ ์ˆ˜์ • Github์—์„œ ์ˆ˜์ •ํ•œ ์ปค๋ฐ‹์ž…๋‹ˆ๋‹ค. * ๐ŸŒฑ: README์„ ์ˆ˜์ • Github์—์„œ ์ˆ˜์ •ํ•œ ์ปค๋ฐ‹์ž…๋‹ˆ๋‹ค. * ๐ŸŒฑ: README์„ ์ˆ˜์ • Github์—์„œ ์ˆ˜์ •ํ•œ ์ปค๋ฐ‹์ž…๋‹ˆ๋‹ค. * ๐ŸŒฑ: README์„ ์ˆ˜์ • Github์—์„œ ์ˆ˜์ •ํ•œ ์ปค๋ฐ‹์ž…๋‹ˆ๋‹ค. * ๐ŸŒฑ: README์„ ์ˆ˜์ • Github์—์„œ ์ˆ˜์ •ํ•œ ์ปค๋ฐ‹์ž…๋‹ˆ๋‹ค. * ๐ŸŒฑ: README์„ ์ˆ˜์ • Github์—์„œ ์ˆ˜์ •ํ•œ ์ปค๋ฐ‹์ž…๋‹ˆ๋‹ค. * ๐ŸŒฑ: README์„ ์ˆ˜์ • Github์—์„œ ์ˆ˜์ •ํ•œ ์ปค๋ฐ‹์ž…๋‹ˆ๋‹ค. * ๐ŸŒฑ: README์„ ์ˆ˜์ • Github์—์„œ ์ˆ˜์ •ํ•œ ์ปค๋ฐ‹์ž…๋‹ˆ๋‹ค. * ๐ŸŒฑ: README์„ ์ˆ˜์ • Github์—์„œ ์ˆ˜์ •ํ•œ ์ปค๋ฐ‹์ž…๋‹ˆ๋‹ค. * ๐ŸŒฑ: README์„ ์ˆ˜์ • Github์—์„œ ์ˆ˜์ •ํ•œ ์ปค๋ฐ‹์ž…๋‹ˆ๋‹ค. * ๐ŸŒฑ: README์„ ์ˆ˜์ • Github์—์„œ ์ˆ˜์ •ํ•œ ์ปค๋ฐ‹์ž…๋‹ˆ๋‹ค. * ๐ŸŒฑ: README์„ ์ˆ˜์ • Github์—์„œ ์ˆ˜์ •ํ•œ ์ปค๋ฐ‹์ž…๋‹ˆ๋‹ค. * ๐ŸŒฑ: issue templates ์ƒ์„ฑ Github์—์„œ ์ž‘์„ฑํ•œ ์ปค๋ฐ‹์ž…๋‹ˆ๋‹ค. * ๐ŸŒฑ: pr-template ์ƒ์„ฑ Github์—์„œ ์ž‘์„ฑํ•œ ์ปค๋ฐ‹์ž…๋‹ˆ๋‹ค. * ๐ŸŒฑ: pr-template ์ˆ˜์ • Github์—์„œ ์ˆ˜์ •ํ•œ ์ปค๋ฐ‹์ž…๋‹ˆ๋‹ค. * ๐ŸŒฑ: pr-template ์ˆ˜์ • Github์—์„œ ์ˆ˜์ •ํ•œ ์ปค๋ฐ‹์ž…๋‹ˆ๋‹ค. * ๐Ÿšฉ: udemy section2์˜ 14๋ฒˆ ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ์‹ค์Šต์„ ํ–ˆ๋‹ค. * ๐Ÿšฉ: interface๋ฅผ ํ•™์Šตํ•˜๊ธฐ ์œ„ํ•ด ํด๋ž˜์Šค๋ฅผ ํ•™์Šตํ•˜๊ณ  ์‹ค์Šตํ•ด๋ณด์•˜๋‹ค.
1 parent 17083e7 commit 4c4de90

File tree

8 files changed

+16
-181
lines changed

8 files changed

+16
-181
lines changed

โ€Ždist/app.js

Lines changed: 8 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,9 @@
11
"use strict";
2-
// const ADMIN = 0;
3-
// const READ_ONLY = 1;
4-
// const AUTHOR = 2;
5-
var Role;
6-
(function (Role) {
7-
Role[Role["ADMIN"] = 0] = "ADMIN";
8-
Role[Role["READ_ONLY"] = 1] = "READ_ONLY";
9-
Role[Role["AUTHOR"] = 2] = "AUTHOR";
10-
})(Role || (Role = {}));
11-
var person = {
12-
name: 'Maximilian',
13-
age: 30,
14-
hobbies: ['Sports', 'Cooking'],
15-
role: Role.ADMIN, //0
16-
};
17-
person.role = Role.READ_ONLY;
18-
if (person.role === Role.ADMIN) {
19-
console.log(person.role);
20-
}
21-
else if (person.role === Role.READ_ONLY) {
22-
console.log(person.role);
23-
}
24-
else if (person.role === Role.AUTHOR) {
25-
console.log(person.role);
26-
}
2+
var Department = /** @class */ (function () {
3+
function Department(n) {
4+
this.name = n;
5+
}
6+
return Department;
7+
}());
8+
var accounting = new Department('Accounting');
9+
console.log(accounting);

โ€Ždist/basics.js

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

โ€Žpackage.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,4 @@
1515
"ts-node": "^10.9.2",
1616
"typescript": "^5.5.4"
1717
}
18-
}
18+
}

โ€Žsrc/app.js

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

โ€Žsrc/app.ts

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,9 @@
1-
let userInput: unknown;
2-
3-
let userName: string;
4-
userInput = 5;
5-
userInput = 'Max';
6-
7-
console.log(typeof userInput);
8-
9-
if (typeof userInput === 'string') {
10-
userName = userInput;
1+
class Department {
2+
name: string;
3+
constructor(n: string) {
4+
this.name = n;
5+
}
116
}
127

13-
function generateError(message: string, code: number): never { //:never
14-
throw { message: message, errorCode: code };
15-
} //generateError๋Š” neverํƒ€์ž…์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์ด์œ ๋Š” throw ๋•Œ๋ฌธ์ธ๋ฐ ์ ˆ๋Œ€์ ์œผ๋กœ ๊ฐ’์ด ๋ณ€ํ•˜๋ฉด ์•ˆ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋”ฐ๋ผ์„œ neverํƒ€์ž…์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
16-
//never ํƒ€์ž…์€ ์–ด๋– ํ•œ ๊ฐ’๋„ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š๋Š” ํ•จ์ˆ˜์˜ ๋ฐ˜ํ™˜ ํƒ€์ž…์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ด ํƒ€์ž…์€ ํ•จ์ˆ˜๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์™„๋ฃŒ๋˜์ง€ ์•Š๊ณ  ํ•ญ์ƒ ์˜ˆ์™ธ๋ฅผ ๋˜์ง€๊ฑฐ๋‚˜ ๋ฌดํ•œ ๋ฃจํ”„์— ๋น ์ ธ ๋๋‚˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉ๋œ๋‹ค. ์˜คํ•ดํ•˜์ง€ ๋ง์•„์•ผํ•  ๊ฒƒ์€ literal type์œผ๋กœ ํ™•์ธ์„ ํ•˜๋ฉด void๋กœ ์„ ์–ธ์ด ๋˜์–ด์žˆ์ง€๋งŒ throw๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌด์กฐ๊ฑด์œผ๋กœ never๊ฐ€ ๋ฐ˜ํ™˜๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์•”๋ฌต์ ์œผ๋กœ never๋ฅผ ๋ฐ˜ํ™˜์€ ํ•˜์ง€๋งŒ neverํƒ€์ž…์ž„์„ ์ฝ”๋“œ์— ๋ช…์‹œํ•ด์ฃผ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
17-
18-
const resultError = generateError('An error occurred!', 500);
19-
console.log('resultError: ', resultError); //๋ณธ๋ž˜ ์ผ๋ฐ˜์ ์ธ ํ•จ์ˆ˜๋ผ๋ฉด undefined๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผํ•œ๋‹ค.
20-
//ํ•˜์ง€๋งŒ ์•„๋ฌด๊ฒƒ๋„ ๋ฐ˜ํ™˜๋˜๋Š” ๊ฒƒ์ด ์—†๋‹ค. ์ด์œ ๋Š” generateError๋Š” never ํƒ€์ž…์œผ๋กœ ๋ฐ˜ํ™˜์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ปดํŒŒ์ผ์ด ์ค‘๋„ ์ •์ง€๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.
21-
//์ฐธ๊ณ ๋กœ throw๋Š” try,catch๋ฅผ ์‚ฌ์šฉํ•ด๋„ ๋ฌด์‹œํ•˜์ง€ ์•Š๊ณ  ์ค‘๋„ ์ •์ง€๊ฐ€ ๋œ๋‹ค.
8+
const accounting = new Department('Accounting');
9+
console.log(accounting);

โ€Žsrc/basics.ts

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

โ€Žsrc/functions.ts

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

โ€Žsrc/union-aliases.ts.ts

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

0 commit comments

Comments
ย (0)