From 3c2770a9f70f1f953b5f1d547967174ccf9a9b1e Mon Sep 17 00:00:00 2001 From: olena-nikitchenko <113857063+olena-nikitchenko@users.noreply.github.com> Date: Sun, 15 Oct 2023 18:16:02 +0300 Subject: [PATCH 01/24] Update 1.ts --- src/baseTypes/1.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/baseTypes/1.ts b/src/baseTypes/1.ts index 2876cb9..ac4d39b 100644 --- a/src/baseTypes/1.ts +++ b/src/baseTypes/1.ts @@ -1,10 +1,10 @@ // Перетворіть цей код на TypeScript, вказавши відповідні типи для всіх змінних. -let age = 50; -let name = 'Max'; -let toggle = true; -let empty = null; -let notInitialize; -let callback = (a) => { return 100 + a }; +let age:number = 50; +let name:string = 'Max'; +let toggle:boolean = true; +let empty:null = null; +let notInitialize: unknown; +let callback = (a:number): number => { return 100 + a }; export {}; From 2f5e23ed47b34d564adb857671687ef3b920711b Mon Sep 17 00:00:00 2001 From: olena-nikitchenko <113857063+olena-nikitchenko@users.noreply.github.com> Date: Sun, 15 Oct 2023 18:24:13 +0300 Subject: [PATCH 02/24] Update 2.ts --- src/baseTypes/2.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/baseTypes/2.ts b/src/baseTypes/2.ts index 0ab2f48..d1d9ab5 100644 --- a/src/baseTypes/2.ts +++ b/src/baseTypes/2.ts @@ -1,5 +1,5 @@ -let anything = -20; +let anything: any = -20; anything = 'Text'; anything = {}; -export {}; \ No newline at end of file +export {}; From 4ee155fb4776eb4f2c84e6e4bda48771e52b0b32 Mon Sep 17 00:00:00 2001 From: olena-nikitchenko <113857063+olena-nikitchenko@users.noreply.github.com> Date: Sun, 15 Oct 2023 19:17:21 +0300 Subject: [PATCH 03/24] Update 3.ts --- src/baseTypes/3.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/baseTypes/3.ts b/src/baseTypes/3.ts index 9e7f211..f137fa0 100644 --- a/src/baseTypes/3.ts +++ b/src/baseTypes/3.ts @@ -1,6 +1,7 @@ let some:unknown; some = 'Text'; -let str: string; -str = some; +if (typeof some === "string") { + let str: string = some; +} -export {}; \ No newline at end of file +export {}; From cdf0d9a2fec24393dc3f8920021f55a9ecf06ab6 Mon Sep 17 00:00:00 2001 From: olena-nikitchenko <113857063+olena-nikitchenko@users.noreply.github.com> Date: Sun, 15 Oct 2023 19:32:04 +0300 Subject: [PATCH 04/24] Update 4.ts --- src/baseTypes/4.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/baseTypes/4.ts b/src/baseTypes/4.ts index ec89510..ea37253 100644 --- a/src/baseTypes/4.ts +++ b/src/baseTypes/4.ts @@ -3,6 +3,7 @@ щоб гарантувати, що перший елемент завжди буде рядком, а другий числом? */ -let person = ['Max', 21]; +let person:[string, number]; +person = ['Max', 21]; -export {}; \ No newline at end of file +export {}; From dc3272bb5e1b44fc9cec845990d589df9c0bd70f Mon Sep 17 00:00:00 2001 From: olena-nikitchenko <113857063+olena-nikitchenko@users.noreply.github.com> Date: Sun, 15 Oct 2023 19:43:12 +0300 Subject: [PATCH 05/24] Update 5.ts --- src/baseTypes/5.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/baseTypes/5.ts b/src/baseTypes/5.ts index 4aaf83f..e4744ec 100644 --- a/src/baseTypes/5.ts +++ b/src/baseTypes/5.ts @@ -3,5 +3,9 @@ І так само визначте змінну, яка може приймати тільки одне з двох рядкових значень: 'enable' або 'disable' (literal type)? */ -let union; -let literal; \ No newline at end of file +let union: string | number; + +type Value = "enable" | "disable"; +let literal: Value; +literal = "enable"; +literal = "disable"; From 334750de7257ec46170b8c6dd4b2580baeced669 Mon Sep 17 00:00:00 2001 From: olena-nikitchenko <113857063+olena-nikitchenko@users.noreply.github.com> Date: Sun, 15 Oct 2023 19:58:55 +0300 Subject: [PATCH 06/24] Update 6.ts --- src/baseTypes/6.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/baseTypes/6.ts b/src/baseTypes/6.ts index 20b4c8a..57c2bde 100644 --- a/src/baseTypes/6.ts +++ b/src/baseTypes/6.ts @@ -2,16 +2,16 @@ Як ви вкажете типи для аргументів і значень цих функцій, що повертаються? */ -function showMessage(message) { - console.log(message); +function showMessage(message: string): void { + console.log(message); } -function calc(num1, num2) { +function calc(num1: number, num2: number): number { return num1 + num2; } -function customError() { +function customError(): never { throw new Error('Error'); } -export {}; \ No newline at end of file +export {}; From 992c98ed948fd7dbef16dc6eb545a08d64d1c07b Mon Sep 17 00:00:00 2001 From: olena-nikitchenko <113857063+olena-nikitchenko@users.noreply.github.com> Date: Sun, 15 Oct 2023 20:57:48 +0300 Subject: [PATCH 07/24] Update 7.ts --- src/baseTypes/7.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/baseTypes/7.ts b/src/baseTypes/7.ts index 6774521..dd4f95f 100644 --- a/src/baseTypes/7.ts +++ b/src/baseTypes/7.ts @@ -1,4 +1,17 @@ /* Створіть функцію (isWeekend), яка приймає день тижня (з вашого enum) і повертає boolean значення, що вказує, чи це день робочий чи вихідний. -*/ \ No newline at end of file +*/ +enum dayWeek { + MONDAY, + TUESDAY, + WEDNESDAY, + THURSDAY, + FRIDAY, + SATURDAY, + SUNDAY, +} + +function isWeekend(todayDay: dayWeek): boolean { + return dayWeek.SATURDAY === todayDay || dayWeek.SUNDAY === todayDay; +} From 3987d9476ea2a1a17e540a419cafeb8da91930ea Mon Sep 17 00:00:00 2001 From: olena-nikitchenko <113857063+olena-nikitchenko@users.noreply.github.com> Date: Sun, 15 Oct 2023 21:06:50 +0300 Subject: [PATCH 08/24] Update 8.ts --- src/baseTypes/8.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/baseTypes/8.ts b/src/baseTypes/8.ts index 40018b2..44e796d 100644 --- a/src/baseTypes/8.ts +++ b/src/baseTypes/8.ts @@ -2,7 +2,7 @@ Створіть тип "Gender", використовуючи union type, який може містити значення "male", "female". Створіть змінну myGender цього типу. */ - -const myGender; +type Gender = "male" | "female" +const myGender:Gender = "female"; export {}; From b7499b661d124d8faf04f6d9847fea7d54c125b9 Mon Sep 17 00:00:00 2001 From: olena-nikitchenko <113857063+olena-nikitchenko@users.noreply.github.com> Date: Sun, 15 Oct 2023 21:31:55 +0300 Subject: [PATCH 09/24] Update 9.ts --- src/baseTypes/9.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/baseTypes/9.ts b/src/baseTypes/9.ts index 16a4c88..4e8a98b 100644 --- a/src/baseTypes/9.ts +++ b/src/baseTypes/9.ts @@ -2,7 +2,15 @@ Створіть новий тип даних, який підходить для цих двох об'єктів. */ -const page1 = { +type Page = { + title: string; + likes: number; + accounts: string[]; + status: "open" | "close"; + details?: {}; +}; + +const page1: Page = { title: 'The awesome page', likes: 100, accounts: ['Max', 'Anton', 'Nikita'], @@ -13,11 +21,11 @@ const page1 = { } } -const page2 = { +const page2: Page = { title: 'Python or Js', likes: 5, accounts: ['Alex'], status: 'close', } -export {}; \ No newline at end of file +export {}; From 6bec4afe7949399a21e559f1db62facccd08439e Mon Sep 17 00:00:00 2001 From: olena-nikitchenko <113857063+olena-nikitchenko@users.noreply.github.com> Date: Sun, 15 Oct 2023 21:55:37 +0300 Subject: [PATCH 10/24] Update 1.ts --- src/generic/1.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/generic/1.ts b/src/generic/1.ts index c368405..303659c 100644 --- a/src/generic/1.ts +++ b/src/generic/1.ts @@ -3,15 +3,15 @@ Доповніть цю функцію, використовуючи generics, щоб вона повертала правильний тип. */ -function getPromise () { +function getPromise
(arg:P): Promise
{
return new Promise((resolve) => {
- resolve(['Text', 50]);
+ resolve(arg);
});
}
-getPromise()
+getPromise(['Text', 50])
.then((data) => {
console.log(data);
});
-export {};
\ No newline at end of file
+export {};
From 44bc9650c3c50cbf1de3e4f2307332a3790b75ff Mon Sep 17 00:00:00 2001
From: olena-nikitchenko <113857063+olena-nikitchenko@users.noreply.github.com>
Date: Sun, 15 Oct 2023 22:28:56 +0300
Subject: [PATCH 11/24] Update 2.ts
---
src/generic/2.ts | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/generic/2.ts b/src/generic/2.ts
index 734d80b..35fc37f 100644
--- a/src/generic/2.ts
+++ b/src/generic/2.ts
@@ -11,7 +11,7 @@ type AllType = {
weight: number
}
-function compare (top, bottom): AllType {
+function compare (top: AllType, bottom: AllType): AllType {
return {
name: top.name,
color: top.color,
@@ -20,4 +20,6 @@ function compare (top, bottom): AllType {
}
}
-export {};
\ No newline at end of file
+
+
+export {};
From 497ee4a26567c9e28f73cff5421f771bbb1eaf5e Mon Sep 17 00:00:00 2001
From: olena-nikitchenko <113857063+olena-nikitchenko@users.noreply.github.com>
Date: Mon, 16 Oct 2023 18:34:02 +0300
Subject: [PATCH 12/24] Update 3.ts
---
src/generic/3.ts | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/generic/3.ts b/src/generic/3.ts
index 7838f9d..3f31669 100644
--- a/src/generic/3.ts
+++ b/src/generic/3.ts
@@ -3,8 +3,8 @@
Використовуйте generics, щоб вказати, що ці об'єкти можуть бути будь-якого типу.
*/
-function merge (objA, objB) {
+function merge