рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ: рдЕрдкрдиреЗ рдЕрдВрддрд░реНрдЬреНрдЮрд╛рди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ


рдирдП рд╕рд╛рд▓ рдХреА рдЫреБрдЯреНрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдерд╛ рдХрд┐ рд╕рдореБрджрд╛рдп рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкрд╣реЗрд▓реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдиреЗ рдорди рдХреЛ рдлреИрд▓рд╛рдПрдВрдЧреЗред рдЙрд╕ рдкреЛрд╕реНрдЯ рдХреЛ рдХрд╛рдлреА рд╕рдордп рдмреАрдд рдЪреБрдХрд╛ рд╣реИ, рдХрдИ рдЕрдиреНрдп рдЫреБрдЯреНрдЯрд┐рдпрд╛рдВ рд╣реЛ рдЧрдИ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдПрдХ рдирдП рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВред

рдореИрдВ рдмрд┐рдЧрд╛рдбрд╝рдиреЗ рдХреЗ рддрд╣рдд рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдХреА рддрд░рд╣ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рддрд╛рд░реНрдХрд┐рдХ рдХреНрдпреЛрдВ рд╣реИ, рдЗрд╕ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рдЬрд╡рд╛рдм рдФрд░ рдореЗрд░реЗ рдЕрдкрдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЫрд┐рдкрд╛рдКрдВрдЧрд╛ред рддреБрд░рдВрдд рдПрдХ рдЖрд░рдХреНрд╖рдг рдХрд░реЗрдВ рдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдЕрдЯрд▓ рд╕рддреНрдп рдХрд╛ рдвреЛрдВрдЧ рди рдХрд░реВрдВ рдФрд░ рдореБрдЭреЗ рдЙрди рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред ECMAScript 5 рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдХрд╛ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рд░реВрд╕реА рдЕрдиреБрд╡рд╛рдж рдЖрдкрдХреЛ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж iliakan !

1. рдЬреАрд╡рди рдХрд╛ рдореБрдЦреНрдп рдореБрджреНрджрд╛, рдмреНрд░рд╣реНрдорд╛рдВрдб рдФрд░ рд╡рд╣ рд╕рдм

"3" -+-+-+ "1" + "1" / "3" * "6" + "2" 

рдирд┐рд░реНрдгрдп
 "3" -+-+-+ "1" + "1" / "3" * "6" + "2" == "42" 

рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд┐рдЫрд▓реЗ рдкреЛрд╕реНрдЯ рд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ, + рдСрдкрд░реЗрдЯрд░ рдпрд╛ рддреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХрд╛ рд╕рдВрдпреЛрдЬрди рдХрд░рддрд╛ рд╣реИ, рдпрд╛ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╛ рдХрд┐рд╕реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрдореА рдХрд░рддрд╛ рд╣реИред рдпрд╛рдиреА
 тАЬ3тАЭ + 2 == тАЬ32тАЭ 

5 рдирд╣реАрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдЕрдкрдиреЗ рдЪрд┐рд╣реНрди рдХреЛ рдмрджрд▓рдиреЗ рдФрд░ рдЪреАрдЬреЛрдВ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрдВрджрд░ рдФрд░ рдкрдардиреАрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдкрд░ рдЕрдирд┐рдпреЛрдЬрд┐рдд рдСрдкрд░реЗрдЯрд░ "+" рдпрд╛ "-" рдлреЗрдВрдХ рд╕рдХрддреЗ рд╣реИрдВред

рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП:
 + тАЬ1тАЭ === 1 -+ тАЬ1тАЭ === -1 +-+ тАЬ1тАЭ === -1 тАж -+-+-+ === -1 "3" -+-+-+ "1" === 2 //    


рдЕрдЧрд▓рд╛, рд╕рдВрдЪрд╛рд▓рди рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЛ рдпрд╛рдж рд░рдЦреЗрдВ: / * +
 тАЬ1тАЭ/тАЭ3тАЭ === 0.3333тАж тАЬ1тАЭ / тАЭ3тАЭ * тАЭ6тАЭ === 2 2 + 2 === 4 4 + тАЬ2тАЭ === тАЬ42тАЭ 



2. рдЕрдзрд┐рдХрддрдорд╡рд╛рдж

 Math.max(3, 0); Math.max(3, {}); Math.max(3, []); Math.max(-1, [1]); Math.max(-1, [1, 4]); Math.max(3, true); Math.max(3, 'foo'); Math.max(-1, null); Math.max(-1, undefined); 

рдирд┐рд░реНрдгрдп
 Math.max(3, 0); // 3 

рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИред

 Math.max(3, {}); // NaN 

{} рдХреЗ рд▓рд┐рдП toNumber рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:
valueOf рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЖрджрд┐рдо рд╣реИ - рдирд╣реАрдВ, рддрдм
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЖрдЧреЗ рдмрдврд╝реЗрдВ, "[рдСрдмреНрдЬреЗрдХреНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ]" ;
рдкрд░рд┐рдгрд╛рдореА рд╕реНрдЯреНрд░рд┐рдВрдЧ toNumber рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ NaN рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ;
рдпрджрд┐ NaN рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ Math.max () рд╣рдореЗрд╢рд╛ NaN рд▓реМрдЯрд╛рддрд╛ рд╣реИред

 Math.max(3, []); // 3 

[] рдХреЗ рд▓рд┐рдП toNumber рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:
valueOf рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЖрджрд┐рдо рд╣реИ - рдирд╣реАрдВ, рддрдм
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ "";
рдкрд░рд┐рдгрд╛рдореА рд╕реНрдЯреНрд░рд┐рдВрдЧ toNumber рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ 0 рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ;
рей> реж

 Math.max(-1, [1]); // 1 

[1] рдХреЗ рд▓рд┐рдП toNumber рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:
valueOf рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЖрджрд┐рдо рд╣реИ - рдирд╣реАрдВ, рддрдм
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЖрдЧреЗ рдмрдврд╝реЗрдВ "1";
рдкрд░рд┐рдгрд╛рдореА рд╕реНрдЯреНрд░рд┐рдВрдЧ toNumber рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ 1 рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ;
-1 <рез

 Math.max(-1, [1, 4]); // NaN 

[1,4] рдХреЗ рд▓рд┐рдП toNumber рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:
valueOf рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЖрджрд┐рдо рд╣реИ - рдирд╣реАрдВ, рддрдм
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЖрдЧреЗ рдмрдврд╝реЗрдВ "1.4";
рдкрд░рд┐рдгрд╛рдореА рд╕реНрдЯреНрд░рд┐рдВрдЧ toNumber рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ NaN рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ;
рдпрджрд┐ NaN рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ Math.max () рд╣рдореЗрд╢рд╛ NaN рд▓реМрдЯрд╛рддрд╛ рд╣реИред

 Math.max(3, true); // 3 

рд╕рддреНрдп рдХреЗ рд▓рд┐рдП toNumber рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:
valueOf рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЖрджрд┐рдо рд╣реИ - рд╣рд╛рдВ, рддрдм
 toNumber(true) === 1 

рей> рез

 Math.max(3, 'foo'); // NaN 

'рдлреВ' рдХреЗ рд▓рд┐рдП toNumber рд░рд┐рдЯрд░реНрди NaN ред
рдпрджрд┐ NaN рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ Math.max () рд╣рдореЗрд╢рд╛ NaN рд▓реМрдЯрд╛рддрд╛ рд╣реИред

 Math.max(-1, null); // 0 

 toNumber(null) === 0 -1 < 0 


 Math.max(-1, undefined); // NaN 

 toNumber(undefined) === NaN 

рдпрджрд┐ NaN рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ Math.max () рд╣рдореЗрд╢рд╛ NaN рд▓реМрдЯрд╛рддрд╛ рд╣реИред


3. рдЬреАрд╡рди рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо

 [,,,].join() [,,,undefined].join() 

рдЫрд┐рдкрд╛ рд╣реБрдЖ рдкрд╛рда
 [,,,].join() // ",," [,,,undefined].join() // ",,," 

рдпрд╣рд╛рдБ рдореИрдВ рдХреЗрд╡рд▓ рдлрд▓рд╛рдЧрди рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБред 7.1:
тАЬрдпрджрд┐ рдПрдХ рд╕рд░рдгреА рд╢рд╛рдмреНрджрд┐рдХ рдореЗрдВ рдХрдИ рд▓рдЧрд╛рддрд╛рд░ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рдирдХреЗ рдмреАрдЪ рдХреЛрдИ рдорд╛рди рдирд╣реАрдВ рд╣реИ, рддреЛ рдПрдХ рд╡рд┐рд░рд▓ рд╕рд░рдгреА рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИред рдРрд╕реЗ рдЕрдиреБрдкрд▓рдмреНрдз рдорд╛рдиреЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рддрддреНрд╡ рдРрд░реЗ рдореЗрдВ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬрдм рдЙрдиреНрд╣реЗрдВ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдорд╛рди рдХреЛ рд▓реМрдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред тАЭ
"рд╕рд░рдгреА рд╢рд╛рдмреНрджрд┐рдХреЛрдВ рдХрд╛ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдЖрдкрдХреЛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдЕрдиреБрдЧрд╛рдореА рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред"
рдРрд╕рд╛ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред рдЕрдВрддрд┐рдо рдкреЛрд╕реНрдЯ рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ , рдпрд╣ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдпрд╣ рдЕрднреА рднреА рдХреЛрдб рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдмреИрд╕рд╛рдЦреА рд╣реИред


4. рдЦрдЬрд╛рдирд╛ рдирдХреНрд╢рд╛

 Array(20).map(function(elem) { return 'a'; }); 

рдЫрд┐рдкрд╛ рд╣реБрдЖ рдкрд╛рда
 Array(20).map(function(elem) { return 'a'; }); // Array of undefined x 20 

рдРрд░реЗ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдПрдХ рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ 20 рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдирд╣реАрдВ рдмрдирддреА рд╣реИ, рд▓реЗрдХрд┐рди 20 рдХреА рд▓рдВрдмрд╛рдИ рд╡рд╛рд▓рд╛ рдПрдХ рд╕рд░рдгреА рд╣реИред рдФрд░ рдорд╛рдирдЪрд┐рддреНрд░ рд╡рд┐рдзрд┐ рдкрд╣рд▓реЗ рдПрдХ рдЦрд╛рд▓реА рд╕рд░рдгреА рдмрдирд╛рддреА рд╣реИ, рдЬрд┐рд╕рдХреА рд▓рдВрдмрд╛рдИ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╕рд░рдгреА рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрддреА рд╣реИ, рдФрд░ рдлрд┐рд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╕рд░рдгреА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдХреЙрд▓рдмреИрдХ рдХрд╣рддреА рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рд░рдгреА рдореЗрдВ рдХреЛрдИ рддрддреНрд╡ рдирд╣реАрдВ рд╣реИ рдФрд░ рд╡рд┐рдзрд┐ рдореВрд▓ рдХреЗ рд╕рдорд╛рди рд▓рдВрдмрд╛рдИ рдХрд╛ рдПрдХ рдЦрд╛рд▓реА рд╕рд░рдгреА рджреЗрддрд╛ рд╣реИред


5. рдлрд┐рдирд┐рдЯрд╛ рд▓рд╛ рдХреЛрдореЗрдбрд┐рдпрд╛

 isFinite(42); isFinite(1/0); isFinite(0/0); isFinite('42'); isFinite('hi'); isFinite(); isFinite(undefined); isFinite(null); 

рдЫрд┐рдкрд╛ рд╣реБрдЖ рдкрд╛рда
 isFinite(42); // true isFinite(1/0); // false isFinite(0/0); // NaN is not finite -> false isFinite('42'); // true isFinite('hi'); // false isFinite(); // false isFinite(undefined); // false isFinite(null); // true 

isFinite рддрд░реНрдХ рдХреЛ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ , рдФрд░ рдпрджрд┐ рдпрд╣ NaN, + Infinity рдпрд╛ -Infinity рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рдЧрд▓рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ ред рдЕрдиреНрдп рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╕рдЪ рд╣реИ ред
'рд╣рд╛рдп' рд╕реЗ ToNumber NaN рд▓реМрдЯрд╛рдПрдЧрд╛, рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд NaN рд▓реМрдЯреЗрдЧрд╛, рдФрд░ рдирд▓ 0 рдкрд░ рд▓реМрдЯреЗрдЧрд╛ред


6. рд╕рдЪреНрдЪреА рдХрд╣рд╛рдиреА рднрд╛рдИ

 'true' == true 

рдЫрд┐рдкрд╛ рд╣реБрдЖ рдкрд╛рда
 'true' == true //false 

рд╕рдорд╛рдирддрд╛ рдСрдкрд░реЗрдЯрд░ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рд╕рддреНрдп рдмрдирд╛рддрд╛ рд╣реИ, рдлрд┐рд░ 'рд╕рддреНрдп'ред рдпрд╣ NaN == 1 рдирд┐рдХрд▓рд╛, рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЧрд▓рдд рд╣реИред


7. рдХреБрдЫ рдирд╣реАрдВ

 null == false !null 

рдЫрд┐рдкрд╛ рд╣реБрдЖ рдкрд╛рда
 null == false // false !null // true 

рд╢реВрдиреНрдп рд╕реЗ рдмреВрд▓ рддрдХ рдХрд╛рд╕реНрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде , рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИред рддреБрд▓рдирд╛ рдХреЗ рд╕рд╛рде рд╕реМрджрд╛ рдХрд░рддреЗ рд╣реИрдВред рдирд▓ рдФрд░ рдмреВрд▓ рдХрд╛ рд╕рдВрдпреЛрдЬрди рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЦрдВрдб 11.9.3 рдореЗрдВ рдХрд┐рд╕реА рднреА рддреБрд▓рдирд╛ \ рдбрд╛рд▓реА рд╡рд┐рдХрд▓реНрдк рдХреЗ рддрд╣рдд рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рддреБрд▓рдирд╛ рдЭреВрдареА рд╣реЛрддреА рд╣реИ ред


8. рдЕрдирд┐рд╢реНрдЪрд┐рддрддрд╛ рдкрд░реАрдХреНрд╖рдг

 /^[az]{1,10}$/.test(null); /^[az]{1,10}$/.test(undefined); 

рдЫрд┐рдкрд╛ рд╣реБрдЖ рдкрд╛рда
 /^[az]{1,10}$/.test(null); //true /^[az]{1,10}$/.test(undefined); //true 

рдЕрд╢рдХреНрдд рдФрд░ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдбрд╛рд▓реЗ рдЧрдП рд╣реИрдВ: "рдЕрд╢рдХреНрдд" рдФрд░ "рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд" - рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рддрд╛рд░ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ NaN , рд╡реИрд╕реЗ, "NaN" рднреА рдмрди рдЬрд╛рдПрдЧрд╛ред


9. рд╢реВрдиреНрдп рдХреА рдЙрдкреЗрдХреНрд╖рд╛

  0 === -0 1/0 === 1/-0 

рдЫрд┐рдкрд╛ рд╣реБрдЖ рдкрд╛рда
  0 === -0 //true 1/0 === 1/-0 //false 

рд╢реВрдиреНрдп рдирдХрд╛рд░рд╛рддреНрдордХ рд╢реВрдиреНрдп рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдПрдХ рд╕рдВрдХреЗрдд рдХреЗ рд╕рд╛рде рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╕рдВрдХреЗрдд рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдирд┐рдХрд▓рддрд╛ рд╣реИ
 Infinity === -Infinity 



рдЙрди рдирд╛рдпрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЕрдВрдд рддрдХ рдкрдврд╝рд╛ рд╣реИ, рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдкрд╣реЗрд▓реАред рдореИрдВ рдПрдХ рдФрд░ рд╕реНрдкреЙрдЗрд▓рд░ рдХреЗ рддрд╣рдд рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЛ рдЫрд┐рдкрд╛рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЖрдкрдХреЛ рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рдмрд╛рдж рджреЗрд╡рдЯреВрд▓ рдФрд░ рд╡рд╣рд╛рдВ рдЬрд╛рдВрдЪ рдХрд░реЗрдВред рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рдгрд╛рдо рдЖрдкрдХреЛ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдХрд░реЗрдЧрд╛ рдФрд░ рдЖрдк рдлрд┐рд░ рд╕реЗ рд╕реЛрдЪрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред
10. рд╕реНрд▓реЗрд╢

 n = 1 /1*"\/\//.test(n + '"//') n = 1; /1*"\/\//.test(n + '"//'); 

рдЫрд┐рдкрд╛ рд╣реБрдЖ рдкрд╛рда
 n = 1 /1*"\/\//.test(n + '"//') //NaN n = 1; /1*"\/\//.test(n + '"//'); //true 

рдПрдХ рд╕реНрд▓реИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рддреАрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐, рд╡рд┐рднрд╛рдЬрди рдФрд░ рдЯрд┐рдкреНрдкрдгреАред рдпрд╣рд╛рдВ, рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рд╣рдо рдХреЗрд╡рд▓ рдПрдХ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рджреЗрдЦрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдХреЗ рдмрд┐рдирд╛, рдкрд╣рд▓рд╛ рд╕реНрд▓реИрд╢ рд╡рд┐рднрд╛рдЬрди рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╡рд┐рднрд╛рдЬрди рдкрд╣рд▓реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рдЧреБрдгрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╢реЗрд╖ рдкреВрдВрдЫ рдХреЗрд╡рд▓ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рд╣реИред рдЬрд┐рд╕ рд▓рд╛рдЗрди рд╕реЗ рд╣рдо рдЧреБрдгрд╛ рдХрд░рддреЗ рд╣реИрдВ рд╡рд╣ рд╕рдВрдЦреНрдпрд╛ рдХрдо рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ рдФрд░ NaN рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреА рд╣реИред

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


All Articles