Math.max(3, 0);
рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИред
Math.max(3, {});
{} рдХреЗ рд▓рд┐рдП
toNumber рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:
valueOf рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЖрджрд┐рдо рд╣реИ - рдирд╣реАрдВ, рддрдм
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЖрдЧреЗ
рдмрдврд╝реЗрдВ, "[рдСрдмреНрдЬреЗрдХреНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ]" ;
рдкрд░рд┐рдгрд╛рдореА рд╕реНрдЯреНрд░рд┐рдВрдЧ
toNumber рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░
NaN рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ;
рдпрджрд┐
NaN рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ
Math.max () рд╣рдореЗрд╢рд╛
NaN рд▓реМрдЯрд╛рддрд╛ рд╣реИред
Math.max(3, []);
[] рдХреЗ рд▓рд┐рдП
toNumber рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:
valueOf рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЖрджрд┐рдо рд╣реИ - рдирд╣реАрдВ, рддрдм
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ "";
рдкрд░рд┐рдгрд╛рдореА рд╕реНрдЯреНрд░рд┐рдВрдЧ
toNumber рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ 0 рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ;
рей> реж
Math.max(-1, [1]);
[1] рдХреЗ рд▓рд┐рдП
toNumber рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:
valueOf рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЖрджрд┐рдо рд╣реИ - рдирд╣реАрдВ, рддрдм
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЖрдЧреЗ
рдмрдврд╝реЗрдВ "1";
рдкрд░рд┐рдгрд╛рдореА рд╕реНрдЯреНрд░рд┐рдВрдЧ
toNumber рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ 1 рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ;
-1 <рез
Math.max(-1, [1, 4]);
[1,4] рдХреЗ рд▓рд┐рдП
toNumber рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:
valueOf рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЖрджрд┐рдо рд╣реИ - рдирд╣реАрдВ, рддрдм
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЖрдЧреЗ
рдмрдврд╝реЗрдВ "1.4";
рдкрд░рд┐рдгрд╛рдореА рд╕реНрдЯреНрд░рд┐рдВрдЧ
toNumber рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░
NaN рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ;
рдпрджрд┐
NaN рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ
Math.max () рд╣рдореЗрд╢рд╛
NaN рд▓реМрдЯрд╛рддрд╛ рд╣реИред
Math.max(3, true);
рд╕рддреНрдп рдХреЗ рд▓рд┐рдП
toNumber рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:
valueOf рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЖрджрд┐рдо рд╣реИ - рд╣рд╛рдВ, рддрдм
toNumber(true) === 1
рей> рез
Math.max(3, 'foo');
'рдлреВ' рдХреЗ рд▓рд┐рдП
toNumber рд░рд┐рдЯрд░реНрди
NaN ред
рдпрджрд┐
NaN рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ
Math.max () рд╣рдореЗрд╢рд╛
NaN рд▓реМрдЯрд╛рддрд╛ рд╣реИред
Math.max(-1, null);
toNumber(null) === 0 -1 < 0
Math.max(-1, undefined);
toNumber(undefined) === NaN
рдпрджрд┐
NaN рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ
Math.max () рд╣рдореЗрд╢рд╛
NaN рд▓реМрдЯрд╛рддрд╛ рд╣реИред