uz
Feedback

Firibgarlarga uchmang! Telemetrio bunday kanallarni topadi va belgilaydi πŸ‘‰ Belgini koβ€˜rmoqchi boβ€˜lsangiz, obuna boβ€˜ling

JavaScript Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ

JavaScript Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ

Kanalga Telegram’da oβ€˜tish

РСгулярныС Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΏΠΎ практичСскому JavaScript. ΠžΠ±ΡƒΡ‡Π°Ρ‰ΠΈΡŽ посты позволят ΠΏΡ€ΠΎΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π½Π°Π²Ρ‹ΠΊΠΈ Π²ΠΎ Frontend-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. МоТно ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΠΊΠ° компилируСтся ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ :) БотрудничСство: @noname_media Канал Π½Π° Π±ΠΈΡ€ΠΆΠ΅: telega.in/channels/notesjs/card?r=Wj7h1mbl

Ko'proq ko'rsatish
7 368
Obunachilar
-124 soatlar
-167 kun
-5730 kun
Postlar arxiv
Async Await Π² языкС JavaScript Async Await позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ промисов
Async Await Π² языкС JavaScript Async Await позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ промисов, Π½ΠΎ с мСньшими усилиями: var request = require('request'); function getJSON(url) { return new Promise(function(resolve, reject) { request(url, function(error, response, body) { resolve(body); }); }); } async function main() { var data = await getJSON(); console.log(data); // NOT undefined! } #Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π³Π΄Π΅-Ρ‚ΠΎ Π² офисС скиллбокс Π§Ρ‚ΠΎ? Π‘Π½ΠΎΠ²Π° слили?! Π”Π° ΠΊΠ°ΠΊ ΠΆΠ΅ ΠΎΠ½ΠΈ ЗА***И 🀬 Π”Π°, слили, ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ вас, скиллы, Π° Π΅Ρ‰Ρ‘ ΠΈ Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚Ρ‹ ΠΊΡƒΡ€
Π³Π΄Π΅-Ρ‚ΠΎ Π² офисС скиллбокс Π§Ρ‚ΠΎ? Π‘Π½ΠΎΠ²Π° слили?! Π”Π° ΠΊΠ°ΠΊ ΠΆΠ΅ ΠΎΠ½ΠΈ ЗА***И 🀬 Π”Π°, слили, ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ вас, скиллы, Π° Π΅Ρ‰Ρ‘ ΠΈ Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚Ρ‹ курсов Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΎΠΏΠΎΠ²Ρ‹Ρ… ΠΎΠ½Π»Π°ΠΉΠ½ школ. ΠœΡ‹ Π½Π΅ боимся, Π±Π°Π½ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ΅Π½. Но ΠΏΠΎΠΊΠ° наш ΠΊΠ°Π½Π°Π» сущСствуСт, Π»ΠΎΠ²ΠΈΡ‚Π΅ ссылки: SkillBox.rar (Π Π°Π·ΠΌΠ΅Ρ€: 593 Π“Π‘) GeekBrains.rar (Π Π°Π·ΠΌΠ΅Ρ€: 342 Π“Π‘) Udemy.rar (Π Π°Π·ΠΌΠ΅Ρ€: 223 Π“Π‘) Π―Π½Π΄Π΅ΠΊΡΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠΌ.rar (Π Π°Π·ΠΌΠ΅Ρ€: 447 Π“Π‘) SkillFactory.rar (Π Π°Π·ΠΌΠ΅Ρ€: 199 Π“Π‘) ВопКниги.rar (Π Π°Π·ΠΌΠ΅Ρ€: 103 Π“Π‘)

WeakMaps Π§Ρ‚ΠΎΠ±Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ частныС вСрсии Π΄Π°Π½Π½Ρ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ WeakMaps для хранСния Π½Π°ΡˆΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ: let _age = new WeakMap()
WeakMaps Π§Ρ‚ΠΎΠ±Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ частныС вСрсии Π΄Π°Π½Π½Ρ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ WeakMaps для хранСния Π½Π°ΡˆΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ: let _age = new WeakMap(); class Person { constructor(age) { _age.set(this, age); } incrementAge() { let age = _age.get(this) + 1; _age.set(this, age); if (age > 50) { console.log('Midlife crisis'); } } } Π‘Π°ΠΌΠΎΠ΅ интСрСсноС Π² использовании WeakMaps для хранСния Π½Π°ΡˆΠΈΡ… Π»ΠΈΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΡ… ΠΊΠ»ΡŽΡ‡ΠΈ Π½Π΅ Π²Ρ‹Π΄Π°ΡŽΡ‚ ΠΈΠΌΠ΅Π½Π° свойств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Reflect.ownKeys(): > const person = new Person(50); > person.incrementAge(); // 'Midlife crisis' > Reflect.ownKeys(person); // [] #Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Maps Π² языкС JavaScript Maps ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π°ΠΌ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ, ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈ ΠΈΡΠΊΠ°Ρ‚ΡŒ значСния (ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅). let map = new Map();
Maps Π² языкС JavaScript Maps ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π°ΠΌ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ, ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈ ΠΈΡΠΊΠ°Ρ‚ΡŒ значСния (ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅).
let map = new Map();
> map.set('name', 'david');
> map.get('name'); // david
> map.has('name'); // true

Бамая ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ Maps - это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ большС Π½Π΅ ограничиваСмся использованиСм строк. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любой Ρ‚ΠΈΠΏ Π² качСствС ΠΊΠ»ΡŽΡ‡Π°, ΠΈ ΠΎΠ½ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ привязан ΠΊ Ρ‚ΠΈΠΏΡƒ для строки. let map = new Map([ ['name', 'david'], [true, 'false'], [1, 'one'], [{}, 'object'], [function () {}, 'function'] ]); for (let key of map.keys()) { console.log(typeof key); // > string, boolean, number, object, function } ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ равСнства с использованиСм Ρ‚Π°ΠΊΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΊΠ°ΠΊ map.get(). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΠΉΡ‚Π΅ΡΡŒ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ строки, Π±ΡƒΠ»Π΅Π²Ρ‹ ΠΈ числа. #Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Frontend-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΊΠ°Π½Π°Π»Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ выходят ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ посты. БпСциалист ΠΏΠΎ JavaScript - ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ°Π½Π°Π» ΠΏΠΎ JS чСловСчСским языком, с повсСднСвными ΠΏΡ€Π°ΠΊΡ‚ичСскими Π·Π°ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ ΠΏΠΎ языку. Π‘Π΅Π½ΡŒΠΎΡ€ ΠŸΠΎΠΌΠΈΠ΄ΠΎΡ€ - ΠΊΠ°Π½Π°Π» для frontend программистов, с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ Π»ΡƒΡ‡ΡˆΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π½Π° HTML|CSS|JS. Figma - Templates - ΠΊΠ°Π½Π°Π», Π³Π΄Π΅ собраны ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² Figma, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΈ ΠΏΡ€ΠΈΡΡ‹Π»Π°ΡŽΡ‚ Π½Π° вёрстку.

Symbol.for(key) Symbol.for(key) создаСт символ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ ΠΈ ΡƒΠ½ΠΈΠΊΠ°Π»Π΅Π½, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ просмотрСн глобально.
Symbol.for(key) Symbol.for(key) создаСт символ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ ΠΈ ΡƒΠ½ΠΈΠΊΠ°Π»Π΅Π½, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ просмотрСн глобально. Π”Π²Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹Ρ… Π²Ρ‹Π·ΠΎΠ²Π° Symbol.for(key) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ символ.
Symbol('foo') === Symbol('foo') // false
Symbol.for('foo') === Symbol('foo') // false
Symbol.for('foo') === Symbol.for('foo') // true

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ использования Symbol для взаимодСйствия являСтся Symbol.iterator, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сущСствуСт Π²ΠΎ всСх ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ Ρ‚ΠΈΠΏΠ°Ρ… Π² ES6: массивы, строки, Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ Ρ‚. Π΄. #Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Symbol( ) Π’Ρ‹Π·ΠΎΠ² Symbol () ΠΈΠ»ΠΈ Symbol (описаниС) создаст ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ символ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ просмотрСн глобально. const
Symbol( ) Π’Ρ‹Π·ΠΎΠ² Symbol () ΠΈΠ»ΠΈ Symbol (описаниС) создаст ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ символ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ просмотрСн глобально. const refreshComponent = Symbol(); React.Component.prototype[refreshComponent] = () => { // Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ } #Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ распространСния Π’ ES5 ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π½Π°ΠΉΡ‚ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ значСния Π² массивС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ apply Π½Π° Math.max ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±
ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ распространСния Π’ ES5 ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π½Π°ΠΉΡ‚ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ значСния Π² массивС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ apply Π½Π° Math.max ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:
Math.max.apply(null, [-1, 100, 9001, -32]); // 9001

Π’ ES6 ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ распространСния для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ массива Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:
Math.max(...[-1, 100, 9001, -32]); // 9001

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ массивов:
let cities = ['San Francisco', 'Los Angeles'];
let places = ['Miami', ...cities, 'Chicago']; // ['Miami', 'San Francisco', 'Los Angeles', 'Chicago']

#ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

ΠœΠΎΠ΄ΡƒΠ»ΠΈ Π² языкС JavaScript Π”ΠΎ ES6 ΠΌΡ‹ использовали Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Browserify, для создания ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Π‘
ΠœΠΎΠ΄ΡƒΠ»ΠΈ Π² языкС JavaScript Π”ΠΎ ES6 ΠΌΡ‹ использовали Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Browserify, для создания ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Π‘ ES6 ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ всСх Ρ‚ΠΈΠΏΠΎΠ² (AMD ΠΈ CommonJS). Экспорт Π² CommonJS module.exports = 1; module.exports = { foo: 'bar' }; module.exports = ['foo', 'bar']; module.exports = function bar () {}; #ΠΌΠΎΠ΄ΡƒΠ»ΠΈ

Π‘Ρ‚Π°Π½ΡŒΡ‚Π΅ вострСбованным Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ ΡƒΠΆΠ΅ Π² 2023 Π³ΠΎΠ΄Ρƒ. Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ шаг Π² Π½ΠΎΠ²ΡƒΡŽ Тизнь прямо сСйчас. Π—Π°ΠΏΠΈΡΡ‹Π²Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° курс
Π‘Ρ‚Π°Π½ΡŒΡ‚Π΅ вострСбованным Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ ΡƒΠΆΠ΅ Π² 2023 Π³ΠΎΠ΄Ρƒ. Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ шаг Π² Π½ΠΎΠ²ΡƒΡŽ Тизнь прямо сСйчас. Π—Π°ΠΏΠΈΡΡ‹Π²Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° курс ΠΎΡ‚ Π₯СкслСта ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°ΠΉΡ‚Π΅ скидку 10% ΠΈ ΠΏΠΎΠ΄Π°Ρ€ΠΎΠΊ Π½Π° Π²Ρ‹Π±ΠΎΡ€: Π΄Π΅ΠΏΠΎΠ·ΠΈΡ‚ 20 000 β‚½, базовая подписка Π½Π° 5 мСсяцСв ΠΈΠ»ΠΈ ΠΏΡ€Π΅ΠΌΠΈΡƒΠΌ-подписка Π½Π° 1 мСсяц. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡ€Π°Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сСбя, Π½ΠΎ ΠΈ Π±Π»ΠΈΠ·ΠΊΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°. Π’ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ для Π΄Π²ΠΎΠΈΡ…: ΠΊΡƒΠΏΠΈΡ‚Π΅ Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΡŽ со скидкой 40%. ΠžΡ†Π΅Π½ΠΈΡ‚Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈ Ρ€Π΅ΡˆΠΈΡ‚Π΅, стоит Π»ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ. Π’Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ курсы профСссии доступны бСсплатно сразу послС рСгистрации! На профСссии Β«Π€Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΒ» Π²Ρ‹: βœ”οΈΠ˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ JavaScript Π² связкС с HTML ΠΈ CSS ΠΈ освоитС React для создания слоТных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ. βœ”οΈΠ Π΅ΡˆΠΈΡ‚Π΅ Π±ΠΎΠ»Π΅Π΅ 420 Π·Π°Π΄Π°Ρ‡ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΈ создадитС 4 ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° для ΠΏΠΎΡ€Ρ‚Ρ„ΠΎΠ»ΠΈΠΎ Π½Π° GitHub ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ 150 тСстовых Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΎΡ‚ Π½Π°ΡˆΠΈΡ… ΠΏΠ°Ρ€Ρ‚Π½Ρ‘Ρ€ΠΎΠ². βœ”οΈΠΠ°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ‡ΡƒΠΆΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΎΡ„ΠΎΡ€ΠΌΠ»ΡΡ‚ΡŒ ΠΏΡƒΠ»-рСквСсты Π² Open Sours ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…. Π¨Π°Π³Π½ΠΈΡ‚Π΅ Π² Π½ΠΎΠ²ΡƒΡŽ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΡŽ. УспСйтС ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ заявку Π΄ΠΎ 31 дСкабря, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΠΎΠ³ΠΎΠ΄Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π°Ρ€ΠΊΠΈ.

ДСструктуризация ДСструктуризация позволяСт Π½Π°ΠΌ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ значСния ΠΈΠ· массивов ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΡ… Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. ДСстру
ДСструктуризация ДСструктуризация позволяСт Π½Π°ΠΌ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ значСния ΠΈΠ· массивов ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΡ… Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. ДСструктурированныС массивы
var arr = [1, 2, 3, 4];
var a = arr[0];
var b = arr[1];
var c = arr[2];
var d = arr[3];
let [a, b, c, d] = [1, 2, 3, 4];

console.log(a); // 1
console.log(b); // 2

ДСструктурированныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ var luke = { occupation: 'jedi', father: 'anakin' }; var occupation = luke.occupation; // 'jedi' var father = luke.father; // 'anakin' let luke = { occupation: 'jedi', father: 'anakin' }; let {occupation, father} = luke; console.log(occupation); // 'jedi' console.log(father); // 'anakin' #ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ #массивы

Π›ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ шаблонов Π² языкС JavaScript Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ шаблонов, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ строки со ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ символами, Π±Π΅Π· Π½Π΅ΠΎ
Π›ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ шаблонов Π² языкС JavaScript Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ шаблонов, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ строки со ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ символами, Π±Π΅Π· нСобходимости ΠΈΡ… явного сокрытия.
var text = "This string contains "double quotes" which are escaped.";
let text = This string contains "double quotes" which don't need to be escaped anymore.;

Π›ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ шаблонов Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΠΎΠ»ΡΡ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡŽ строк ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:
var name = 'Tiger';
var age = 13;

console.log('My cat is named ' + name + ' and is ' + age + ' years old.');

Π•Ρ‰Π΅ ΠΏΡ€ΠΎΡ‰Π΅: const name = 'Tiger'; const age = 13; console.log(My cat is named ${name} and is ${age} years old.); #Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

.repeat( ) function repeat(string, count) { var strings = []; while(strings.length < count) { strings.push(string); } retu
.repeat( )
function repeat(string, count) {
    var strings = [];
    while(strings.length < count) {
        strings.push(string);
    }
    return strings.join('');
}

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ доступ ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ: // String.repeat(numberOfRepetitions) 'meow'.repeat(3); // 'meowmeowmeow' #Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

.includes( ) var string = 'food'; var substring = 'foo'; console.log(string.indexOf(substring) > -1); Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈ
.includes( )
var string = 'food';
var substring = 'foo';

console.log(string.indexOf(substring) > -1);

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ строки, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ просто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ .includes(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π΅Ρ€Π½Π΅Ρ‚ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, вмСсто ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ > -1: const string = 'food'; const substring = 'foo'; console.log(string.includes(substring)); #ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹

Π—Π°ΠΌΠ΅Π½Π° IIFEs Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° использования Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»Π°ΡΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈ
Π—Π°ΠΌΠ΅Π½Π° IIFEs Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° использования Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»Π°ΡΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… области Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π±Π»ΠΎΡ‡Π½Ρ‹Π΅ области, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ.
(function () {
    var food = 'Meow Mix';
}());

console.log(food); // Reference Error

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π±Π»ΠΎΡ‡Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ: { let food = 'Meow Mix'; }; console.log(food); // Reference Error #Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

mdc Если Π²Ρ‹ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π»ΠΈ Π³ΡƒΠ³Π»ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠΎ JavaScript Π½Π° эту Ρ‚Π΅ΠΌΡƒ, Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² запрос "mdc" Ρ‚ΠΎΠ³Π΄Π° ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚
mdc Если Π²Ρ‹ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π»ΠΈ Π³ΡƒΠ³Π»ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠΎ JavaScript Π½Π° эту Ρ‚Π΅ΠΌΡƒ, Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² запрос "mdc" Ρ‚ΠΎΠ³Π΄Π° ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ Mozilla Developer Center. НапримСр: Google:
 javascript array sort mdc

(Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ "javascript") UPD: Mozilla Developer Center Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ Π² Mozilla Developer Network. ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово "mdc" Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ, Π½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ вскорС Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ "mdn". #ΠΏΠΎΠ»Π΅Π·Π½ΠΎ

Бвойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ свойствам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ [] вмСсто '.'. Π­Ρ‚ΠΎ позволяСт Π½Π°ΠΉΡ‚ΠΈ свойство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅
Бвойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ свойствам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ [] вмСсто '.'. Π­Ρ‚ΠΎ позволяСт Π½Π°ΠΉΡ‚ΠΈ свойство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ соотвСтствуСт ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
obj = {a:"test"}; 
var propname = "a"; 
var b = obj[propname]; // "test"

Π’Π°ΠΊΠΆΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это для получСния/установки значСния свойства, Ссли Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½Π΅Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. obj["class"] = "test"; // class - Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ слово; obj.class Π±Ρ‹Π»ΠΎ Π±Ρ‹ нСдоступно. obj["two words"] = "test2"; // использования ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° . Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ. #ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹

ΠžΠ±Π»Π°ΡΡ‚ΡŒ дСйствия Π² JavaScript JavaScript Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ области дСйствия Π±Π»ΠΎΠΊΠ°: var x = 1; { var x = 2; } alert(x); // Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ 2 #ΠΎ
ΠžΠ±Π»Π°ΡΡ‚ΡŒ дСйствия Π² JavaScript JavaScript Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ области дСйствия Π±Π»ΠΎΠΊΠ°:
var x = 1; 
{ var x = 2; } 
alert(x); // Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ 2

#ΠΎΠ±Ρ‰Π΅Π΅

ЗначСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ || Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ присваивания для прСдоставлСния значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: v
ЗначСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ || Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ присваивания для прСдоставлСния значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:
var a = b || c;

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ a ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ c Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли b = false (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ссли null, false, undefined, 0, empty string, ΠΈΠ»ΠΈ NaN), ΠΈΠ½Π°Ρ‡Π΅ a ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ b. Π­Ρ‚ΠΎ часто ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² функциях, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρƒ Π² случаС, Ссли ΠΎΠ½ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ: function example(arg1) { arg1 || (arg1 = 'default value'); } #ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ in Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ in для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΅ΡΡ‚ΡŒ Π»ΠΈ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ»ΡŽΡ‡ Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°: var x = 1; var y = 3; v
ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ in Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ in для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΅ΡΡ‚ΡŒ Π»ΠΈ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ»ΡŽΡ‡ Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°:
var x = 1; 
var y = 3; 
var list = {0:0, 1:0, 2:0};
x in list; //true 
y in list; //false 
1 in list; //true 
y in {3:0, 4:0, 5:0}; //true

Если Π²Ρ‹ посчитаСтС, Ρ‡Ρ‚ΠΎ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° нСдостаточно Ρ…ΠΎΡ€ΠΎΡˆΠΎ выглядят, Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²: function list() { var x = {}; for(var i=0; i < arguments.length; ++i) x[arguments[i]] = 0; return x } 5 in list(1,2,3,4,5) //true #ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

JavaScript Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ - Telegram kanali @notesjs statistikasi va tahlili