рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд╕рдВрдж рд╣реИ рдФрд░ рдореБрдЭреЗ рдпрд╣ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд▓рдЧрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХрд╛рдВрд╢ рдиреМрд╕рд┐рдЦрд┐рдП рдЬреЗрдПрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП, рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рдорд╕реНрдпрд╛рдПрдВ рднрд╛рд╖рд╛ рдХреЗ рдкрд╣рд▓реБрдУрдВ рдХреА рдЧрд▓рддрдлрд╣рдореА рдкреИрджрд╛ рдХрд░рддреА рд╣реИрдВред рдЕрдХреНрд╕рд░ рднрд╛рд╖рд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг "рдЕрддрд╛рд░реНрдХрд┐рдХ" рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ "рд░реЗрдХ" рдХрд╛ рдЙрджрд╛рд╣рд░рдг рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЖрдЧреЗ рдмрдврд╝рд╛рдпрд╛; рднрд╛рд╖рд╛ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░реЗрдВ рдФрд░ рдХреБрдЫ рд╕реБрдЭрд╛рд╡ рджреЗрдВред
рдкреНрд░рдХрд╛рд░
рдЬреИрд╕рд╛
рдХрд┐ ECMAScript рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛
рд╣реИ , рдХреБрд▓ 6 рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:
- рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд
- рдЕрд╢рдХреНрдд
- рдмреВрд▓рд┐рдпрди
- рддрд╛рд░
- рд╕рдВрдЦреНрдпрд╛
- рд╡рд╕реНрддреБ
рд╕рднреА рдореВрд▓реНрдп рдЙрдирдХреЗ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рдЬреЗрдПрд╕ рдХрд╛ рдПрдХ рдЯрд╛рдЗрдкреЛрдлрд╝ рдСрдкрд░реЗрдЯрд░ рд╣реИ, рдЬреЛ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реВрдЪреАрдмрджреНрдз рдореЗрдВ рд╕реЗ рдПрдХред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдирд┐рдХрд▓рд╛:
typeof 5;
рд╕рдорд╕реНрдпрд╛: рдирд▓ рдХрд╛ рдкреНрд░рдХрд╛рд░ рдЕрд╢рдХреНрдд рд╣реЛрдиреЗ рдкрд░ рднреА, рдСрдкрд░реЗрдЯрд░ 'рдСрдмреНрдЬреЗрдХреНрдЯ' рд▓реМрдЯрд╛рддрд╛ рд╣реИ; рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкреНрд░рдХрд╛рд░ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ, рдСрдкрд░реЗрдЯрд░ 'рдлрд╝рдВрдХреНрд╢рди' рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдХреЛрдИ рдкреНрд░рдХрд╛рд░ рдирд╣реАрдВ рд╣реИред
рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг: рдЯрд╛рдЗрдкреЛрдлрд╝ рдПрдХ рдкреНрд░рдХрд╛рд░ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЬреЛ рддрд░реНрдХ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдирд╛рдо рдирд╣реАрдВ рд╣реИред
рдпреБрдХреНрддрд┐: рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЬрд╛рдУред рдЧрдВрднреАрд░рддрд╛ рд╕реЗ, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЬреЗрдПрд╕ рдХреЗ 6 рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдЬрд╛рдирдиреЗ рд╕реЗ рдЖрдкрдХреЛ рдХреЛрдИ рдлрд╛рдпрджрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдФрд░ рдЯрд╛рдЗрдкреЛ рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдХреНрд╕рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рдХрд╛рдо рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдпрд╛рдж рд░рдЦрдирд╛ рдмреЗрд╣рддрд░ рд╣реИ:
рддрд░реНрдХ рдкреНрд░рдХрд╛рд░ | рдкрд░рд┐рдгрд╛рдо |
рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд | рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд |
рдЕрд╢рдХреНрдд | рд╡рд╕реНрддреБ |
рдмреВрд▓рд┐рдпрди | рдмреВрд▓рд┐рдпрди |
рд╕рдВрдЦреНрдпрд╛ | рд╕рдВрдЦреНрдпрд╛ |
рддрд╛рд░ | рддрд╛рд░ |
рдСрдмреНрдЬреЗрдХреНрдЯ (рдирдП рдСрдкрд░реЗрдЯрд░ рдХреЗ рдкрд░рд┐рдгрд╛рдо, рдЗрдирд▓рд╛рдЗрди рдСрдмреНрдЬреЗрдХреНрдЯ ({рдХреБрдВрдЬреА: рдорд╛рди})) | рд╡рд╕реНрддреБ |
рд╡рд╕реНрддреБ (рдХрд╛рд░реНрдп) | рд╕рдорд╛рд░реЛрд╣ |
рдореИрдЬрд┐рдХ рд╡реИрд▓реНрдпреВ: рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд, рдЕрд╢рдХреНрдд, NaN
рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
- рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдореВрд▓реНрдп - рдЬрдм рдПрдХ рдЪрд░ рдХреЛ рдПрдХ рдорд╛рди рдирд╣реАрдВ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИ рддреЛ рдЖрджрд┐рдо рдореВрд▓реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
- рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдкреНрд░рдХрд╛рд░ - рдЬрд┐рд╕рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдорд╛рди рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдорд╛рди рд╣реИ
- рдЕрд╢рдХреНрдд рдореВрд▓реНрдп - рдЖрджрд┐рдо рдореВрд▓реНрдп рдЬреЛ рдХрд┐рд╕реА рднреА рд╡рд╕реНрддреБ рдореВрд▓реНрдп рдХреЗ рдЬрд╛рдирдмреВрдЭрдХрд░ рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ
- рдЕрд╢рдХреНрдд рдкреНрд░рдХрд╛рд░ - рдЬрд┐рд╕рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдорд╛рди рд╢реВрдиреНрдп рдорд╛рди рд╣реИ
- NaN - рд╕рдВрдЦреНрдпрд╛ рдорд╛рди рдЬреЛ IEEE 754 "Not-a-Number" рдорд╛рди рд╣реИ
рдореЗрд░реЗ рд╕рд┐рд░ рдореЗрдВ рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд░рдЦрддрд╛ рд╣реВрдБ:
- рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд - рдПрдХ рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдореВрд▓реНрдп рдЬреЛ рдЖрд░рдВрднреАрдХреГрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдореВрд▓реНрдпред
- рдЕрд╢рдХреНрдд - рдЬрд╛рдирдмреВрдЭрдХрд░ рдмрдирд╛рдИ рдЧрдИ "рдЦрд╛рд▓реА" рд╡рд╕реНрддреБред рдкреНрд░рдХрд╛рд░ рдирд▓ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдореВрд▓реНрдпред
- NaN "рдирдВрдмрд░реЛрдВ", "рдЕрдирд┐рд╢реНрдЪрд┐рддрддрд╛" рдХреЛ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдк рдирдВрдмрд░ рдХрд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдореВрд▓реНрдп рд╣реИред рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 0 рдХреЛ 0 рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк (рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рджреМрд░рд╛рди рд╣рдореЗрдВ рдпрд╛рдж рд╣реИ рдХрд┐ рдпрд╣ рдЕрдирд┐рд╢реНрдЪрд┐рддрддрд╛ рд╣реИ, рдФрд░ 0 рд╕реЗ рдЕрдиреНрдп рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рдЕрдирдВрдд рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЬреЗрдПрд╕ рдХреЗ рдкрд╛рд╕ рдЗрдиреНрдлрд┐рдирд┐рдЯреА рдореВрд▓реНрдп рд╣реИрдВ)ред
рдЗрди рдЕрд░реНрдереЛрдВ рдХреЗ рд╕рд╛рде, рдореИрдВрдиреЗ "рдЬрд╛рджреВ" рдХреА рдмрд╣реБрдд рдЦреЛрдЬ рдХреАред рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП, рдЙрдирдХреЗ рд╕рд╛рде рдмреВрд▓рд┐рдпрди рдСрдкрд░реЗрд╢рди:
!!undefined;
рд╕рдорд╕реНрдпрд╛: рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рд╣рдо NaN рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреБрд▓рдирд╛ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣рдореЗрд╢рд╛ рдЧрд▓рдд рд╣реЛрдЧрд╛ред
рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг: NaN рдХрдИ рдкрд░рд┐рдЪрд╛рд▓рдиреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: 0/0, parseInt ('рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЗрд░реНрд░реЗрдбреНрдпреВрдмрд▓ рдЯреВ рдирдВрдмрд░'), Math.sqrt (-1) рдФрд░ рдпрд╣ рдЕрдЬреАрдм рд╣реЛрдЧрд╛ рдпрджрд┐ -1 рдХреА рдЬрдбрд╝ 0/0 рдереАред рдЗрд╕реАрд▓рд┐рдП NaN! == NaN
рдЯрд┐рдк: NaN рдХреЗ рд╕рд╛рде рдмреВрд▓рд┐рдпрди рдСрдкрд░реЗрдЯрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ isNaN рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
typeof a;
рд╕рдорд╕реНрдпрд╛: рдЯрд╛рдЗрдкрдСрдлрд╝ рдСрдкрд░реЗрдЯрд░ рд╣рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЕрдШреЛрд╖рд┐рдд рдЪрд░ рдХрд╛ рдкреНрд░рдХрд╛рд░ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рддреЗ рд╕рдордп рдПрдХ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред
рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг: рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, 2 рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдВ рд╣реИрдВ - рдЕрдирд┐рд░реНрдзрд╛рд░рд┐рдд рдФрд░ рдЕрдШреЛрд╖рд┐рддред рддреЛ, рдПрдХ рдЕрдШреЛрд╖рд┐рдд рдЪрд░ рдПрдХ рдЕрдШреЛрд╖рд┐рдд рдЪрд░ рд╣реИ рдФрд░ рдЗрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рд╕реЗ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИред рдПрдХ рдШреЛрд╖рд┐рдд рд▓реЗрдХрд┐рди рдЖрд░рдВрднрд┐рдХ рдЪрд░ рдирд╣реАрдВ рдорд╛рди рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рддреЗ рд╕рдордп рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
рдпреБрдХреНрддрд┐: рдХрд┐рд╕реА рдЪрд░ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрд╣ рдШреЛрд╖рд┐рдд рд╣реИред рдпрджрд┐ рдЖрдк рдЕрдШреЛрд╖рд┐рдд рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреЙрд▓ рдХреЗ рдмрд╛рдж рд╡рд╛рд▓рд╛ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
var a;
рд╕рдорд╕реНрдпрд╛: рдХрд┐рд╕реА рднреА рд╕рдордп, рд╣рдо рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдорд╛рди рдХреЛ рдкрдврд╝ рдФрд░ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП, рдХреЛрдИ рдЗрд╕реЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдЧрд▓рдд рд╣реЛрдЧрд╛ред
рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг: рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рди рдХреЗрд╡рд▓ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдореВрд▓реНрдп рд╣реИ, рдмрд▓реНрдХрд┐ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рднреА рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдХреЛрдИ рднреА рдЗрд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдпреБрдХреНрддрд┐: рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗ рд╕рд╛рде рдмрд╕ рдЪрд░ рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рдмреБрд▓реЗрдЯрдкреНрд░реВрдл" рдХреЛрдб рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП 3 рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред
- рдЖрдк рдХрд┐рд╕реА рдЪрд░ рдХреЗ рдореВрд▓реНрдп рдХреА рддреБрд▓рдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдкреНрд░рдХрд╛рд░: "рдЯрд╛рдЗрдк рдП === 'рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд"ред
- рддреБрд░рдВрдд-рдЗрдирд╡реЙрдХреНрдб рдлрд╝рдВрдХреНрд╢рди рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
(function(window, undefined){
- рд╡рд╛рд╕реНрддрд╡рд┐рдХ "рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд" рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рд╢реВрдиреНрдп рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рд╡реИрд╕реЗ, рдореБрдЭреЗ рдЗрд╕ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдкрддрд╛ рд╣реИ):
typeof void(0) === 'undefined'
рдЕрдм рдЕрд╢рдХреНрдд рдХреЗ рд╕рд╛рде рднреА рдРрд╕рд╛ рд╣реА рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:
console.log(null);
рд╕рдорд╕реНрдпрд╛: рдЕрд╢рдХреНрдд рдФрд░ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗ рдмреАрдЪ рдХреБрдЫ рд╕рдорд╛рдирддрд╛рдПрдВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╣рдо рдЕрд╢рдХреНрдд рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рддрдереНрдп рдХрд┐ рднрд╛рд╖рд╛ рдЕрдиреИрддрд┐рдХ рд░реВрдк рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреА рд╣реИ: рдпрд╣ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрд╢рдХреНрдд рдирд╣реАрдВ рд╣реИред
рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг: рдЕрд╢рдХреНрдд рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЖрдк рдЗрд╕реЗ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддреЗ, рдХреНрдпреЛрдВрдХрд┐ рдЕрд╢рдХреНрдд рдПрдХ рдЖрд░рдХреНрд╖рд┐рдд рд╢рдмреНрдж рд╣реИред
рдпреБрдХреНрддрд┐: рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрдИ рдЖрд░рдХреНрд╖рд┐рдд рд╢рдмреНрдж рдирд╣реАрдВ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ
рдпрд╛рдж рд░рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИ рдФрд░ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рдкрд░ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕реЗ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдФрд░ рдЕрдм NaN рдХреЗ рд╕рд╛рде рднреА рдРрд╕рд╛ рд╣реА рдХрд░рддреЗ рд╣реИрдВ:
console.log(NaN);
рд╕рдорд╕реНрдпрд╛: рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЛ рдкреБрдирд░реНрдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╕рдордп, рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдм рдЕрд╢рдХреНрддрддрд╛ рдХреЛ рдкреБрдирд░реНрдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЬрдм NaN рдХреЛ рдкреБрдирд░реНрдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдСрдкрд░реЗрд╢рди рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рдмрдирддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг: рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ NaN рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рд╕рдВрджрд░реНрдн рдЪрд░ (рд╡рд┐рдВрдбреЛ рдСрдмреНрдЬреЗрдХреНрдЯ) рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, NaN рдХреЛ Number.NaN рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ "рдкрд╣реБрдВрдЪ" рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рд╣реИ, рдЖрдк рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рднреА рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ NaN рд╕рдВрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реИ:
Object.getOwnPropertyDescriptor(window, NaN).writable;
рдпреБрдХреНрддрд┐: JS рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдкрдХреЛ
рд╕рдВрдкрддреНрддрд┐ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛:
рдЧреБрдг | рдЯрд╛рдЗрдк | рдЕрд░реНрде |
рдЧрдгрдиреАрдп | рдмреВрд▓рд┐рдпрди | рдпрджрд┐ рд╕рд╣реА рд╣реИ, рддреЛ рдпрд╣ рд╕рдВрдкрддреНрддрд┐ рдлреЙрд░-рдЗрди рд▓реВрдк рдореЗрдВ рднрд╛рдЧ рд▓реЗрдЧреАред |
рд▓рд┐рдЦрдиреЗ рдпреЛрдЧреНрдп | рдмреВрд▓рд┐рдпрди | рдпрджрд┐ рдЧрд▓рдд рд╣реИ, рддреЛ рдЗрд╕ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдореВрд▓реНрдп рдирд╣реАрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред |
рд╡рд┐рдиреНрдпрд╛рд╕ | рдмреВрд▓рд┐рдпрди | рдпрджрд┐ рдЧрд▓рдд рд╣реИ, рддреЛ рдЗрд╕ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдореВрд▓реНрдп рдирд╣реАрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ; рд╕рдВрдкрддреНрддрд┐ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд╣рдЯрд╛рдпрд╛ рдпрд╛ рдмрджрд▓рд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ |
рдореВрд▓реНрдп | рдХреЛрдИ | рдЗрд╕реЗ рдкрдврд╝рддреЗ рд╕рдордп рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдореВрд▓реНрдп |
рдкреНрд░рд╛рдкреНрдд | рдСрдмреНрдЬреЗрдХреНрдЯ (рдпрд╛ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд) | рд╕рдорд╛рд░реЛрд╣ |
рд╕реЗрдЯ | рдСрдмреНрдЬреЗрдХреНрдЯ (рдпрд╛ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд) | рд╕реЗрдЯрд░ рдлрдВрдХреНрд╢рди |
рдЖрдк Object.defineProperty рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рдЧреИрд░-рд╣рдЯрд╛рдиреЗ рдпреЛрдЧреНрдп рдпрд╛ рдХреЗрд╡рд▓-рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреБрдг рдШреЛрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
var obj = {}; Object.defineProperty(obj, 'a', {writable: true, configurable: true, value: 'a'}); Object.defineProperty(obj, 'b', {writable: false, configurable: true, value: 'b'}); Object.defineProperty(obj, 'c', {writable: false, configurable: false, value: 'c'}); console.log(obj.a);
рднрд┐рдиреНрдирд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдп рдХрд░рдирд╛
рдЖрдЗрдП 3rd рдЧреНрд░реЗрдб рдХреЛ рдпрд╛рдж рдХрд░реЗрдВ рдФрд░ рдХреБрдЫ рджрд╢рдорд▓рд╡ рдЕрдВрд╢ рдЬреЛрдбрд╝реЗрдВред рдЬреЗрдПрд╕ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдорди рдореЗрдВ рдЬреЛрдбрд╝ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ:
0.5 + 0.5;
рд╕рдорд╕реНрдпрд╛: рдХреБрдЫ рдЕрдВрд╢реЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╕рдордп, рдПрдХ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдЧрд▓рдд рдкрд░рд┐рдгрд╛рдо рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг: рдРрд╕реЗ рдкрд░рд┐рдгрд╛рдо рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдирдВрдмрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЦрд╝рд╛рд╕рд┐рдпрдд рдХреЗ рдХрд╛рд░рдг рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╣реАрдВ рд╣реИ, рдЕрдиреНрдп рднрд╛рд╖рд╛рдПрдВ рднреА рдХрд╛рдо рдХрд░рддреА рд╣реИрдВ (рдореИрдВрдиреЗ рдкреАрдПрдЪрдкреА, рдкрд╛рдпрдерди рдФрд░ рд░реВрдмреА рдореЗрдВ рдЬрд╛рдБрдЪ рдХреА)ред
рдпреБрдХреНрддрд┐: рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ, рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдирдВрдмрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрдВрдкреНрдпреВрдЯрд░ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдЬрд╛рдирдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ ред рджреВрд╕рд░реЗ, рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдХреЗрд╡рд▓ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдмрдВрдж рдХрд░рдирд╛ рд╣реА рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рд▓реЗрдХрд┐рди, рдЕрдЧрд░ рдЖрдкрдХреЛ рдЕрдЪрд╛рдирдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рд╕рдЯреАрдХ рдкрд░рд┐рдгрд╛рдо рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдкреИрд╕реЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдмрд╕ рд╕рднреА рддрд░реНрдХреЛрдВ рдХреЛ 10 рд╕реЗ рдЧреБрдгрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреЛ 10 рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣:
function sum() { var result = 0; for (var i = 0, max = arguments.length; i< max; i++ ) { result += arguments[i]*10; } return result / 10; } sum(0.5, 0.5);
рдирд┐рд╖реНрдХрд░реНрд╖
рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдпреЗ рдХреБрдЫ рдЕрд╕рд╛рдорд╛рдиреНрдп рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЙрд╕реА рд░реЗрдХ рдкрд░ рдХрджрдо рдирд╣реАрдВ рдмрдврд╝рд╛рддрд╛ рд╣реИ рдФрд░ рдЬрд▓реНрджреА рд╕реЗ рд╕рдордЭ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдХреЛрдб рдХрд╛ рдПрдХ рдирдпрд╛ "рдЕрддрд╛рд░реНрдХрд┐рдХ" рдЯреБрдХрдбрд╝рд╛ рдорд┐рд▓рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдХрд┐
рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдпрд╛
рдПрдордбреАрдПрди рдХреЛ рдкрдврд╝рдХрд░ рднрд╛рд╖рд╛ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред