Hh.ru рдкрд░ рдХреНрд╡рд┐рдЬ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХреЗ рдлрд╛рдЗрдирд▓ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг # HolyJS18 рдкрд░ рд╣реЛрдЧрд╛

рдирдорд╕реНрддреЗ, рдпрд╣ рд╣рдорд╛рд░реЗ рд╕реНрдЯреИрдВрдб рд╕реЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рдЕрдВрддрд┐рдо рднрд╛рдЧ рд╣реИред


рдпрд╣рд╛рдБ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдБред


рдпрд╣рд╛рдВ рдкрд╣рд▓реЗ рдЪрд╛рд░ рд░рд╛рдЙрдВрдб рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдгред



рдпрд╣рд╛рдВ, рд╡рд┐рд╖рдпреЛрдВ рдкрд░ рдкреНрд░рд╢реНрди рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд╕рдореВрд╣реАрдХреГрдд рдирд╣реАрдВ рд╣реИрдВ, рд╣рдо рдПрдХ-рдПрдХ рдХрд░рдХреЗ рд╕рдм рдХреБрдЫ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВред


рдЖрдЗрдП рдЬрд╛рдиреЗ:


рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдХреНрдпрд╛ рд╣реЛрдЧрд╛?

let i = 0; let a = 1; for (; a >= 0; i++) { a -= 0.1; } console.log(i); a) 1 b) 11 c)  d) 10 

рдЙрддреНрддрд░ + рдкрд╛рд░реНрд╕рд┐рдВрдЧ

b) резрез
рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИред рдпрд╣ рдЕрдзрд┐рдХ рджрд┐рдорд╛рдЧ рдХреА рдмрд╛рдд рд╣реИред рдЪрдХреНрд░ рдХреЛ 11 рдмрд╛рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╕рдЦреНрдд рдирд╣реАрдВ рд╣реИрдВ
> рд╕реЗ рдЕрдзрд┐рдХ, рдФрд░ >= рдмрд░рд╛рдмрд░ рдпрд╛ рдЙрд╕рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред


рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдХреНрдпрд╛ рд╣реЛрдЧрд╛?

 {} + []; a) 0 b) null c) '[object Object]' d) NaN 

рдЙрддреНрддрд░ + рдкрд╛рд░реНрд╕рд┐рдВрдЧ

рдП) 0
рдпрд╣рд╛рдБ рдЯреНрд░рд┐рдХ рдпрд╣ рд╣реИ рдХрд┐ {} рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдХреЛрдб рдХреЗ рдЦрд╛рд▓реА рдмреНрд▓реЙрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХреА рдЬрд╛рдПрдЧреАред рдЗрд╕рд▓рд┐рдП, рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ +[] рдмрджрд▓ рдЬрд╛рддреА рд╣реИ, рдФрд░ рдпрд╣ 0 , рдХреНрдпреЛрдВрдХрд┐ + рдорд╛рди рд╕реЗ рдкрд╣рд▓реЗ рдпрд╣ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдпрджрд┐ рдХреЛрдб console.log({} + []); рд░реВрдк рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ console.log({} + []); , рддреЛ рдпрд╣ [object Object] , рдХреНрдпреЛрдВрдХрд┐ рдпрд╣рд╛рдБ {} рдПрдХ рд╡рд╕реНрддреБ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреА рдЬрд╛рдПрдЧреАред


рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдХреНрдпрд╛ рд╣реЛрдЧрд╛?

 [] + {}; 

рдП) 0
b) рдЕрд╢рдХреНрдд
рдЧ) '[рд╡рд╕реНрддреБ рд╡рд╕реНрддреБ]'
d) NaN


рдЙрддреНрддрд░ + рдкрд╛рд░реНрд╕рд┐рдВрдЧ

рдЧ) '[рд╡рд╕реНрддреБ рд╡рд╕реНрддреБ]'
рдпрд╣рд╛рдБ, рджреЛрдиреЛрдВ рдСрдкрд░реЗрдВрдб, рдирд┐рдпрдорд╛рдиреБрд╕рд╛рд░, рдЦрд╛рд▓реА рд╕рд░рдгреА рдХреЗ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдХрдо рд╣реЛрддреЗ рд╣реИрдВ - рдпрд╣ рдПрдХ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ, рдФрд░ рдПрдХ рд╡рд╕реНрддреБ [object Object]


рдпрд╣ рдХреЛрдб рдЖрдЙрдЯрдкреБрдЯ рдХреНрдпрд╛ рд╣реЛрдЧрд╛?

 let response = { data: '', errors: { code: 403 } }; console.log(typeof response.data.link); a) undefined b) object c) string d) function 

рдЙрддреНрддрд░ + рдкрд╛рд░реНрд╕рд┐рдВрдЧ

рдШ) рд╕рдорд╛рд░реЛрд╣
рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореЗрдВ рдПрдХ рд▓рд┐рдВрдХ рд╡рд┐рдзрд┐ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рд╣реА рдЙрддреНрддрд░ function


рдпрд╣ рдХреЛрдб рдЖрдЙрдЯрдкреБрдЯ рдХреНрдпрд╛ рд╣реЛрдЧрд╛?

 const button = document.querySelector('button'); button.addEventListener('click', () => { console.log('FUS'); }); button.addEventListener('click', () => Promise.resolve('RO').then((x) => console.log(x))); button.addEventListener('click', () => { console.log('DAH!'); }); button.click(); a) FUS RO DAH! b) FUS DAH! RO c) RO FUS DAH! d) DAH! RO FUS 

рдЙрддреНрддрд░ + рдкрд╛рд░реНрд╕рд┐рдВрдЧ

b) FUS DAH! рдЖрд░рдУ
рдпрд╣рд╛рдВ рд╣рдо рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХрд▓реА click рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдХреЙрд▓ рд╕реНрдЯреИрдХ рдкрд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдкрд╣рд▓рд╛ рд╣реИрдВрдбрд▓рд░ рдЪрд╛рд▓реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ - рд╣рдо FUS , рд╣рдо рджреВрд╕рд░реЗ рдкрд░ FUS - рд╣рдо рдкрдВрдХреНрддрд┐ рдореЗрдВ RO рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдЯреИрдХ рдкрд░ рдЕрднреА рднреА click - рд╡рд╛рджрд╛ рди рдХрд░реЗрдВред рд╣рдо рдЕрдЧрд▓реЗ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рдЧрдП - рдЖрдЙрдЯрдкреБрдЯ DAH! ред рдХрд╛рдо рдХрд┐рдпрд╛ click , рдХрддрд╛рд░ рдЦрд╛рд▓реА рд╣реИ, рд╡рд╛рджрд╛ рдЯреНрд░рд┐рдЧрд░ рд╣реИред


рдЬрдм рдПрдХ рдмрдЯрди рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдпрд╣ рдХреЛрдб рдХреНрдпрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛?

 const button = document.querySelector('button'); button.addEventListener('click', () => { console.log('FUS'); }); button.addEventListener('click', () => Promise.resolve('RO').then((x) => console.log(x))); button.addEventListener('click', () => { console.log('DAH!'); }); button.click(); a) FUS RO DAH! b) FUS DAH! RO c) RO FUS DAH! d) DAH! RO FUS 

рдЙрддреНрддрд░ + рдкрд╛рд░реНрд╕рд┐рдВрдЧ

a) FUS RO DAH!
рдпрд╣рд╛рдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕реНрдЯреИрдХ рдкрд░ рдХреЛрдИ click рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реЗ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ, рд╡рд╛рджрд╛ рддреБрд░рдВрдд рдХрд╛рдо рдХрд░реЗрдЧрд╛ред


рдпрд╣ рдХреЛрдб рдЖрдЙрдЯрдкреБрдЯ рдХреНрдпрд╛ рд╣реЛрдЧрд╛?

 console.log(typeof Function````); a) TypeError b) SyntaxError c) 'function' d) 'undefined' 

рдЙрддреНрддрд░ + рдкрд╛рд░реНрд╕рд┐рдВрдЧ

рдШ) 'рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд'
рдлрд╝рдВрдХреНрд╢рди рдирд╛рдо рдХреЗ рдмрд╛рдж рдЯреЗрдореНрдкрд▓реЗрдЯ рд╢рд╛рдмреНрджрд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЗрд╕реЗ рдПрдХ рд╕рд░рдгреА рдХреЗ рд╕рд╛рде рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдПрдХ рдкрд╛рд░рд┐рдд рдореВрд▓реНрдп рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдПрдХ raw рдорд╛рди рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рдгреА рд╣реЛрддреА рд╣реИред Function , new Function рд░реВрдк рдореЗрдВ рд╕рдорд╛рди - рдлрд╝рдВрдХреНрд╢рди рдирд┐рд░реНрдорд╛рддрд╛ред рдЗрд╕рдореЗрдВ рдПрдХ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкрд╛рд╕ рдХрд░рддреЗ рд╕рдордп, рд╣рдореЗрдВ рдлреЙрд░реНрдо (){} рдХрд╛ рдПрдХ рдлрдВрдХреНрд╢рди рдорд┐рд▓рддрд╛ рд╣реИ, рдХреНрд░рдорд╢рдГ, рдЬрд┐рд╕ рднреА рддрд░реНрдХ рдХреЗ рд╕рд╛рде рд╣рдо рдЗрд╕реЗ рдХрд╣рддреЗ рд╣реИрдВ, рд╡рд╣ undefined рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛, рдпрд╣рд╛рдБ рдЗрд╕реЗ рдПрдХ рд╕рд░рдгреА рдХреЗ рд╕рд╛рде рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ - ['', raw: ['']] ред рдпрд╣ рд▓рдЧрднрдЧ Function('')('')


рдпрд╣ рдХреЛрдб рдЖрдЙрдЯрдкреБрдЯ рдХреНрдпрд╛ рд╣реЛрдЧрд╛?

 function f(a, b, c) { 'use strict'; return f.length; } console.log(f(100, 2)); a) undefined b) 2 c) 3 d)  

рдЙрддреНрддрд░ + рдкрд╛рд░реНрд╕рд┐рдВрдЧ

рдЧ) рей
MDN рдХреЗ рд╕рд╛рде рд╡реНрдпрд╛рдкрдХ рд╡рд┐рд╡рд░рдг:
рд▓рдВрдмрд╛рдИ рд╕рдВрдкрддреНрддрд┐ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╕рдВрдкрддреНрддрд┐ рд╣реИ рдФрд░ рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХрд┐рддрдиреЗ рддрд░реНрдХ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдФрдкрдЪрд╛рд░рд┐рдХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред рдЗрд╕ рд░рд╛рд╢рд┐ рдореЗрдВ рдЕрд╡рд╢рд┐рд╖реНрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИрдВред


рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдХреНрдпрд╛ рд╣реЛрдЧрд╛?

 const dict = {}; dict[[1]] = 2; dict[dict] = 3; dict[1 / 0] = 4; a) {'1': 2, '[object Object]': 3, 'Infinity': 4} b) Assignment to constant variable c) {'[1]': 2, 'dict': 3, '1/0': 4} d) {'1': 4, '[object Object]': 3} 

рдЙрддреНрддрд░ + рдкрд╛рд░реНрд╕рд┐рдВрдЧ

a) {'1': 2, '[рдСрдмреНрдЬреЗрдХреНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ]': 3, 'рдЗрдиреНрдлрд┐рдирд┐рдЯреА': 4}
Assignment to constant variable рддреНрд░реБрдЯрд┐рдпрд╛рдБ Assignment to constant variable рдпрд╣рд╛рдБ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ const рд▓рд┐рдВрдХ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рднреА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рд░рдгреА рдХреЛ 1 рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ [object Object] , рдФрд░ рдЬрдм рд╢реВрдиреНрдп рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ Infinity рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред


рдпрд╣ рдХреЛрдб рдЖрдЙрдЯрдкреБрдЯ рдХреНрдпрд╛ рд╣реЛрдЧрд╛?

 console.log(!![] > [], ![] == []); a) false false b) false true c) true true d) true false 

рдЙрддреНрддрд░ + рдкрд╛рд░реНрд╕рд┐рдВрдЧ

рдЧ) рд╕рд╣реА рд╕рдЪ
рддреБрд▓рдирд╛рдПрдВ > >= <= < - рдПрдХ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рддреБрд▓рдирд╛ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ, рдкрд╣рд▓реЗ рд╣рдо рд╕рд░рдгреА рдХреЛ рдмреВрд▓рд┐рдпрди рдорд╛рди рдореЗрдВ рдбрд╛рд▓рддреЗ рд╣реИрдВ рдФрд░ рд╕рдЪ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рд╣рдореЗрдВ рддреБрд▓рдирд╛ 1> 0 рдорд┐рд▓рддреА рд╣реИ, рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдЪ рд╣реЛрддреА рд╣реИред рдкреНрд░рд╢реНрди рдХреЗ рджреВрд╕рд░реЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдо рдПрд░реЗ рдХреЛ false , рдлрд┐рд░ false рдХреЛ 0 false рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдПрд░реЗ рдХреЛ рдПрдХ рдЖрджрд┐рдо рдкрд░ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рдореЗрдВ рдПрдХ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд┐рд▓рддреА рд╣реИ '' , рдФрд░ рд╡реЗ рд╕рдорд╛рди рд╣реИрдВред


рдпрд╣ рд╣рдорд╛рд░реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ, рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

Source: https://habr.com/ru/post/hi431744/


All Articles