SlideShare a Scribd company logo
1
ХТО Я
САВІЦЬКИЙ РОМАН
Infopulse, Web & Mobile Sub Practice Lead
BeerJS Zhytomyr co-founder
Викладач Житомирської політехніки,
аспірант
2
ПРАВИЛА ДОПОВІДІ
3
ПРАВИЛА ДОПОВІДІ
Доповнюємо, дискутуємо
3.1
ПРАВИЛА ДОПОВІДІ
Доповнюємо, дискутуємо
Граємо в ребуси
3.2
ПРАВИЛА ДОПОВІДІ
Доповнюємо, дискутуємо
Граємо в ребуси
Граємо в запитання-відповідь
3.3
ПРАВИЛА ДОПОВІДІ
Доповнюємо, дискутуємо
Граємо в ребуси
Граємо в запитання-відповідь
*Я не знаю Tipescript. PS Навіть з помилкою написав.
3.4
ПРАВИЛА РЕБУСІВ
4
ПРАВИЛА РЕБУСІВ
Слово ділиться на такі частини, які можна зобразити у вигляді
малюнка або будь-якого знака.
4.1
ПРАВИЛА РЕБУСІВ
Слово ділиться на такі частини, які можна зобразити у вигляді
малюнка або будь-якого знака.
Ребус читається зліва направо.
4.2
ПРАВИЛА РЕБУСІВ
Слово ділиться на такі частини, які можна зобразити у вигляді
малюнка або будь-якого знака.
Ребус читається зліва направо.
Слово-відповідь - іменник в називному відмінку, в однині
4.3
ПРАВИЛА РЕБУСІВ
Слово ділиться на такі частини, які можна зобразити у вигляді
малюнка або будь-якого знака.
Ребус читається зліва направо.
Слово-відповідь - іменник в називному відмінку, в однині
Досить часто назва якогось предмета не може бути використана
повністю, необхідно відкинути на початку чи в кінці слова одну чи
декілька букв, такі літери позначаються комами
4.4
ПРИКЛАД
Сейф+кінь+Й+морж=
сеньйор
5
ОЧІКУВАННЯ
6
РЕАЛЬНІСТЬ
7
ПРОЦЕС
8
ЩО ЦЕ ЗА ЗАБУТІ ЦИФРИ?
39, 262, 402
9
Specifying JavaScript.
TC39
Ecma International's TC39 is a group of JavaScript developers, implementers, academics, and more,
collaborating with the community to maintain and evolve the definition of JavaScript.
We are part of
Contribute
TC39 welcomes contributions from the JavaScript community whether it is feedback on existing
10
РЕБУС 1
11
РЕБУС 1
С+ТАНК+Д+КАР+Т=
стандарт
11.1
ECMASCRIPT 262
ES1 - 1997
12
ECMASCRIPT 262
ES1 - 1997
12.1
ECMASCRIPT 262
ES1 - 1997
ES5 - 2009
12.2
ECMASCRIPT 262
ES1 - 1997
ES5 - 2009
ES6 - 2015
12.3
ECMASCRIPT 262
ES1 - 1997
ES5 - 2009
ES6 - 2015
ESNext - 2024
12.4
РЕБУС 2
13
РЕБУС 2
Стадія
13.1
СТАДІЇ
Finished
14
СТАДІЇ
Finished
14.1
СТАДІЇ
Finished
Active. Stage 3
14.2
СТАДІЇ
Finished
Active. Stage 3
Active. Stage 2.7
14.3
СТАДІЇ
Finished
Active. Stage 3
Active. Stage 2.7
Active. Stage 2
14.4
ES2024
WELL-FORMED UNICODE STRINGS
15
ES2024
WELL-FORMED UNICODE STRINGS
String.prototype.isWellFormed та String.prototype.toWellFormed
15.1
ES2024
WELL-FORMED UNICODE STRINGS
String.prototype.isWellFormed та String.prototype.toWellFormed
Перевірка UTF-16 рядків та виправлення "битих" на U+FFFD
15.2
ES2024
WELL-FORMED UNICODE STRINGS
String.prototype.isWellFormed та String.prototype.toWellFormed
Перевірка UTF-16 рядків та виправлення "битих" на U+FFFD
const illFormed = "https://example.com/search?q=uD800";
try {
encodeURI(illFormed);
} catch (e) {
console.log(e); // URIError: URI malformed
}
if (illFormed.isWellFormed()) {
console.log(encodeURI(illFormed));
} else {
console.warn("Ill-formed strings encountered."); // Ill-formed strings encounter
}
15.3
АСОЦІАЦІЯ 3
16
АСОЦІАЦІЯ 3
Atomic.waitAsync
16.1
ES2024
АСИНХРОННЕ АТОМАРНЕ ОЧІКУВАННЯ
17
ES2024
АСИНХРОННЕ АТОМАРНЕ ОЧІКУВАННЯ
АПІ метод, що асинхронно очікує на спільній памʼяті та повертає
Promise для SharedArray. Відхилений в 2017.
17.1
ES2024
АСИНХРОННЕ АТОМАРНЕ ОЧІКУВАННЯ
АПІ метод, що асинхронно очікує на спільній памʼяті та повертає
Promise для SharedArray. Відхилений в 2017.
Atomics.waitAsync(i32a, index, value, [timeout]) => result
- i32a є Int32Array/BigInt64Array, що відображає SharedArrayBuffer
- index є дійсним індексом у межахi32a
- valu eбуде перетворено на Int32 і порівняно з вмістомi32a[index]
- timeout, якщо присутній, це значення часу очікування
const sab = new SharedArrayBuffer(1024);
const int32 = new Int32Array(sab);
const result = Atomics.waitAsync(int32, 0, 0, 1000);
// { async: true, value: Promise {<pending>} }
Atomics.notify(int32, 0);
// { async: true, value: Promise {<fulfilled>: 'ok'} }
</fulfilled></pending>
17.2
ES2024
REGEXP
18
ES2024
REGEXP
Unicode властивості
18.1
ES2024
REGEXP
Unicode властивості
Різниця, обʼєднання, перетин множин
18.2
ES2024
REGEXP
Unicode властивості
Різниця, обʼєднання, перетин множин
const regexGreekSymbol = /p{Script_Extensions=Greek}/u;
regexGreekSymbol.test('π');
// → true
// Unicode defines a character property named “Emoji”.
const re = /^p{Emoji}$/u;
// Match an emoji that consists of just 1 code point:
re.test('⚽'); // 'u26BD'
// → true ✅
18.3
ES2024
REGEXP
Unicode властивості
Різниця, обʼєднання, перетин множин
/[p{Decimal_Number}--[0-9]]/v.test('𑜹'); // → true
/[p{Decimal_Number}--[0-9]]/v.test('4'); // → false
/^p{RGI_Emoji_Tag_Sequence}$/v.test('🏴󠁧󠁢󠁳󠁣󠁴󠁿'); // → true
/^[p{RGI_Emoji_Tag_Sequence}--q{🏴󠁧󠁢󠁳󠁣󠁴󠁿}]$/v.test('🏴󠁧󠁢󠁳󠁣󠁴󠁿'); // → false
18.4
ES2024
REGEXP
Unicode властивості
Різниця, обʼєднання, перетин множин
const re = /[p{White_Space}&&p{ASCII}]/v;
re.test('n'); // → true
re.test('u2028'); // → false
const re = /[p{Script_Extensions=Greek}&&p{Letter}]/v;
// U+03C0 GREEK SMALL LETTER PI
re.test('π'); // → true
// U+1018A GREEK ZERO SIGN
re.test('𐆊'); // → false
18.5
ES2024
REGEXP
Unicode властивості
Різниця, обʼєднання, перетин множин
const re = /^[p{Emoji_Keycap_Sequence}p{ASCII}q{🇧🇪|abc}xyz0-9]$/v;
re.test('4️⃣'); // → true
re.test('_'); // → true
re.test('🇧🇪'); // → true
re.test('abc'); // → true
re.test('π'); // → false
re.test('4'); // → true
18.6
ES2024
ARRAYBUFFER
Дозволяє працювати з бінарними даними
Додана можливість розширювати макс значення буферів
transfer, transferToFixedLength
19
РЕБУС 3
20
РЕБУС 3
Група
20.1
ES2024
GROUPBY
Працює з Object, Map
Статичний метод
21
ES2024
GROUPBY
Працює з Object, Map
Статичний метод
const array = [1, 2, 3, 4, 5];
// `Object.groupBy` groups items by arbitrary key.
// In this case, we're grouping by even/odd keys
Object.groupBy(array, (num, index) => {
return num % 2 === 0 ? 'even': 'odd';
});
// => { odd: [1, 3, 5], even: [2, 4] }
// `Map.groupBy` returns items in a Map, and is useful for grouping
// using an object key.
const odd = { odd: true };
const even = { even: true };
Map.groupBy(array, (num, index) => {
return num % 2 === 0 ? even: odd;
});
// => Map { {odd: true}: [1, 3, 5], {even: true}: [2, 4] }
21.1
ES2024
PROMISE.WITHRESOLVERS
Статичний метод
22
ES2024
PROMISE.WITHRESOLVERS
Статичний метод
async function* readableToAsyncIterable(stream) {
let { promise, resolve, reject } = Promise.withResolvers();
stream.on("error", (error) => reject(error));
stream.on("end", () => resolve());
stream.on("readable", () => resolve());
while (stream.readable) {
await promise;
let chunk;
while ((chunk = stream.read())) {
yield chunk;
}
({ promise, resolve, reject } = Promise.withResolvers());
}
}
22.1
РЕБУС 4
23
РЕБУС 4
Майбутнє
23.1
ES2025
SET METHODS FOR JAVASCRIPT
24
ES2025
SET METHODS FOR JAVASCRIPT
Set.prototype.intersection(other)
24.1
ES2025
SET METHODS FOR JAVASCRIPT
Set.prototype.intersection(other)
Set.prototype.union(other)
24.2
ES2025
SET METHODS FOR JAVASCRIPT
Set.prototype.intersection(other)
Set.prototype.union(other)
Set.prototype.difference(other)
24.3
ES2025
SET METHODS FOR JAVASCRIPT
Set.prototype.intersection(other)
Set.prototype.union(other)
Set.prototype.difference(other)
Set.prototype.symmetricDifference(other)
24.4
ES2025
SET METHODS FOR JAVASCRIPT
Set.prototype.intersection(other)
Set.prototype.union(other)
Set.prototype.difference(other)
Set.prototype.symmetricDifference(other)
Set.prototype.isSubsetOf(other)
24.5
ES2025
SET METHODS FOR JAVASCRIPT
Set.prototype.intersection(other)
Set.prototype.union(other)
Set.prototype.difference(other)
Set.prototype.symmetricDifference(other)
Set.prototype.isSubsetOf(other)
Set.prototype.isSupersetOf(other)
24.6
ES2025
SET METHODS FOR JAVASCRIPT
Set.prototype.intersection(other)
Set.prototype.union(other)
Set.prototype.difference(other)
Set.prototype.symmetricDifference(other)
Set.prototype.isSubsetOf(other)
Set.prototype.isSupersetOf(other)
Set.prototype.isDisjointFrom(other)
24.7
ES2024 STAGE 3
TEMPORAL
const olympics = Temporal.Instant.from('2024-07-26T20:24:00+01:00');
new Temporal.PlainDate(2024, 7, 26);
Temporal.PlainDate.from('2024-07-26');
new Temporal.PlainTime(20, 24, 0);
Temporal.PlainTime.from('20:24:00');
const today = Temporal.Now.plainDateISO();
const lastWeek = today.subtract({ days: 7});
const nextWeek = today.add({ days: 7 });
25
ES2024 STAGE 3
КОНВЕЄР
const exclaim = string => string + "!!!"
const listen = string => "Listen up! " + string
const uppercase = string => string.toUpperCase()
uppercase(exclaim(listen(text)))
text.listen().exclaim().uppercase()
text |> listen(%) |> exclaim(%) |> uppercase(%)
26
ES2024 STAGE 3
RECORD, TUPLE
const heroes = #["Batman", "Superman", "Wonder Woman"]
const traitors = #{
diane: false,
paul: true,
zac: false,
harry: true
}
27
РЕБУС 5
28
РЕБУС 5
Декоратор
28.1
ES2024 STAGE 3
ДЕКОРАТОР
@validation
class FormComponent {
// код
}
function validation(target) {
// код
}
29
ЩО ТАКЕ ВІЧНІСТЬ?
30
ЩО ТАКЕ ВІЧНІСТЬ?
OBSERVABLE
30.1
ЗАПИТАННЯ? ПОБАЖАННЯ
31
"JavaScript. Standard evolution, when nobody cares", Roman Savitskyi

More Related Content

More from Fwdays

"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 
"What I learned through reverse engineering", Yuri Artiukh
"What I learned through reverse engineering", Yuri Artiukh"What I learned through reverse engineering", Yuri Artiukh
"What I learned through reverse engineering", Yuri Artiukh
Fwdays
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
Fwdays
 
"Micro frontends: Unbelievably true life story", Dmytro Pavlov
"Micro frontends: Unbelievably true life story", Dmytro Pavlov"Micro frontends: Unbelievably true life story", Dmytro Pavlov
"Micro frontends: Unbelievably true life story", Dmytro Pavlov
Fwdays
 
"Objects validation and comparison using runtime types (io-ts)", Oleksandr Suhak
"Objects validation and comparison using runtime types (io-ts)", Oleksandr Suhak"Objects validation and comparison using runtime types (io-ts)", Oleksandr Suhak
"Objects validation and comparison using runtime types (io-ts)", Oleksandr Suhak
Fwdays
 
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y..."How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
Fwdays
 
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
Fwdays
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
Fwdays
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
Fwdays
 
"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro Spodarets"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro Spodarets
Fwdays
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
Fwdays
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
Fwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
Fwdays
 
"Distributed graphs and microservices in Prom.ua", Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua", Maksym Kindritskyi
Fwdays
 
"Rethinking the existing data loading and processing process as an ETL exampl...
"Rethinking the existing data loading and processing process as an ETL exampl..."Rethinking the existing data loading and processing process as an ETL exampl...
"Rethinking the existing data loading and processing process as an ETL exampl...
Fwdays
 
"How Ukrainian IT specialist can go on vacation abroad without crossing the T...
"How Ukrainian IT specialist can go on vacation abroad without crossing the T..."How Ukrainian IT specialist can go on vacation abroad without crossing the T...
"How Ukrainian IT specialist can go on vacation abroad without crossing the T...
Fwdays
 
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ..."The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
Fwdays
 
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu..."[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
Fwdays
 
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care..."[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
Fwdays
 
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"..."4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
Fwdays
 

More from Fwdays (20)

"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 
"What I learned through reverse engineering", Yuri Artiukh
"What I learned through reverse engineering", Yuri Artiukh"What I learned through reverse engineering", Yuri Artiukh
"What I learned through reverse engineering", Yuri Artiukh
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
"Micro frontends: Unbelievably true life story", Dmytro Pavlov
"Micro frontends: Unbelievably true life story", Dmytro Pavlov"Micro frontends: Unbelievably true life story", Dmytro Pavlov
"Micro frontends: Unbelievably true life story", Dmytro Pavlov
 
"Objects validation and comparison using runtime types (io-ts)", Oleksandr Suhak
"Objects validation and comparison using runtime types (io-ts)", Oleksandr Suhak"Objects validation and comparison using runtime types (io-ts)", Oleksandr Suhak
"Objects validation and comparison using runtime types (io-ts)", Oleksandr Suhak
 
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y..."How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
 
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro Spodarets"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro Spodarets
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
"Distributed graphs and microservices in Prom.ua", Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua", Maksym Kindritskyi
 
"Rethinking the existing data loading and processing process as an ETL exampl...
"Rethinking the existing data loading and processing process as an ETL exampl..."Rethinking the existing data loading and processing process as an ETL exampl...
"Rethinking the existing data loading and processing process as an ETL exampl...
 
"How Ukrainian IT specialist can go on vacation abroad without crossing the T...
"How Ukrainian IT specialist can go on vacation abroad without crossing the T..."How Ukrainian IT specialist can go on vacation abroad without crossing the T...
"How Ukrainian IT specialist can go on vacation abroad without crossing the T...
 
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ..."The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
 
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu..."[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
 
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care..."[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
 
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"..."4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
 

"JavaScript. Standard evolution, when nobody cares", Roman Savitskyi