рдбрд╛рд░реНрдЯ рднрд╛рд╖рд╛ рд╕реБрд╡рд┐рдзрд╛рдПрдБ

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

рдпрд╣ рд▓реЗрдЦ рдЖрдкрдХреЛ рдбрд╛рд░реНрдЯ-рд╕реНрдЯрд╛рдЗрд▓ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдЬрд╛рдирдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред рдЪреВрдВрдХрд┐ рднрд╛рд╖рд╛ рдЕрднреА рднреА рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣реА рд╣реИ, рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрдИ рдореБрд╣рд╛рд╡рд░реЗ рднреА рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдХреБрдЫ рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ, рд╣рдордиреЗ рдЕрднреА рддрдХ рдпрд╣ рддрдп рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЕрднреНрдпрд╛рд╕ рдХреНрдпрд╛ рд╣реИ (рд╢рд╛рдпрдж рдЖрдк рд╣рдорд╛рд░реА рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?) рдлрд┐рд░ рднреА, рдпрд╣рд╛рдВ рдХреБрдЫ рдмрд┐рдВрджреБ рджрд┐рдП рдЧрдП рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рджрд┐рдорд╛рдЧ рдХреЛ рдЬрд╛рд╡рд╛ рдпрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдбрд╛рд░реНрдЯ рдореЛрдб рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░реНрд╕


рд╣рдо рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗ рдЬреИрд╕реЗ рдХрд┐ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЬреАрд╡рди рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ - рдбрд┐рдЬрд╛рдЗрдирд░реЛрдВ рдХреЗ рд╕рд╛рдеред рдкреНрд░рддреНрдпреЗрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЗрд╕рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдПрдХ рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд░реНрдЧ рдмрдирд╛рдиреЗ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рд╣реИред рдбрд╛рд░реНрдЯ рдореЗрдВ рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВред

рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдлрд╝реАрд▓реНрдб рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди

рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдмрд╛рдК рджреЛрд╣рд░рд╛рд╡ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдПрдВред рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░реНрд╕ рдЕрдХреНрд╕рд░ рддрд░реНрдХ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдмрд╕ рдЕрдкрдиреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдХреНрд▓рд╛рд╕ рдлреАрд▓реНрдб рдореЗрдВ рдЕрд╕рд╛рдЗрди рдХрд░рддреЗ рд╣реИрдВ:

class Point { num x, y; Point(num x, num y) { this.x = x; this.y = y; } } 

рд╣рдореЗрдВ рдлреАрд▓реНрдб рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл x рдЪрд╛рд░ рдмрд╛рд░ рдЯрд╛рдЗрдк рдХрд░рдирд╛ рдерд╛ред рдпрд╣ рдмреЗрдХрд╛рд░ рд╣реИ! рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реИ:

 class Point { num x, y; Point(this.x, this.y); } 

рдпрджрд┐ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рддрд░реНрдХ рд╕реВрдЪреА рдореЗрдВ, this. рддрд░реНрдХ рдирд╛рдо рд╕реЗ рдкрд╣рд▓реЗ рд╣реИ this. , рдЗрд╕ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝реАрд▓реНрдб рдХреЛ рддрд░реНрдХ рдорд╛рди рдХреЗ рд╕рд╛рде рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рд╛рд░рдВрдн рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдПрдХ рдФрд░ рдЫреЛрдЯреА рдЪрд╛рд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - рдпрджрд┐ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдмреЙрдбреА рдЦрд╛рд▓реА рд╣реИ, рддреЛ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ; рдЗрд╕рдХреЗ рдмрдЬрд╛рдп {} ред

рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░реНрд╕ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ

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

 class Point { num x, y; Point(this.x, this.y); Point.zero() : x = 0, y = 0; Point.polar(num theta, num radius) { x = Math.cos(theta) * radius; y = Math.sin(theta) * radius; } } 

Point рдХреНрд▓рд╛рд╕ рдореЗрдВ рддреАрди рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рд╣реИрдВ - рдирд┐рдпрдорд┐рдд рдФрд░ рджреЛ рдирд╛рдорд┐рддред рдпрд╣рд╛рдВ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:

 var a = new Point(1, 2); var b = new Point.zero(); var c = new Point.polar(Math.PI, 4.0); 

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдо new рдирд╛рдорд╛рдВрдХрд┐рдд рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░реЛрдВ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдпреЗ рд╕рд╛рдзрд╛рд░рдг рд╕реНрдерд┐рд░ рддрд░реАрдХреЗ рдирд╣реАрдВ рд╣реИрдВред

рдХрд╛рд░рдЦрд╛рдиреЗ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛

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

рдбрд╛рд░реНрдЯ рдЖрдкрдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдП рдЧрдП рд╕реНрдерд╛рди рдкрд░ рдХреЛрдб рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЖрдк рдПрдХ рдлреИрдХреНрдЯреНрд░реА рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд░реЗрдЧреБрд▓рд░ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреА рддрд░рд╣ рд╣реА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

 class Symbol { final String name; static Map<String, Symbol> _cache; factory Symbol(String name) { if (_cache == null) { _cache = {}; } if (_cache.containsKey(name)) { return _cache[name]; } else { final symbol = new Symbol._internal(name); _cache[name] = symbol; return symbol; } } Symbol._internal(this.name); } 

рд╣рдордиреЗ Symbol рд╡рд░реНрдЧ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдПрдХ рдЪрд░рд┐рддреНрд░ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдпрд╣ рдЧрд╛рд░рдВрдЯреА рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕реА рднреА рд╕рдордп рджрд┐рдП рдЧрдП рдирд╛рдо рдХреЗ рд╕рд╛рде рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдЪрд░рд┐рддреНрд░ рд╣реИред рдЗрд╕рд╕реЗ рдкрд╛рддреНрд░реЛрдВ рдХреА рд╕рдорд╛рдирддрд╛ рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдмрд╕ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдХрд┐ рд╡реЗ рдПрдХ рд╣реА рд╡рд╕реНрддреБ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реИрдВред

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ (рдЕрдирд╛рдо) рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, factory рдХреАрд╡рд░реНрдб рд╕реНрдерд┐рдд рд╣реИред рдЬрдм рдЗрд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдХ рдирдИ рд╡рд╕реНрддреБ рдирд╣реАрдВ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ ( this рдХрд╛рд░рдЦрд╛рдиреЗ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рд╕реЗ рдЧрд╛рдпрдм рд╣реИ)ред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╣рдореЗрдВ рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрдирд╛рдиреЗ рдФрд░ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рдкрд╣рд▓реЗ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдХреИрд╢ рдореЗрдВ рд╕рдорд╛рди рдирд╛рдо рд╡рд╛рд▓рд╛ рдХреЛрдИ рд╡рд░реНрдг рд╣реИ, рдФрд░ рдпрджрд┐ рдХреЛрдИ рд╣реИ рддреЛ рдЙрд╕реЗ рд▓реМрдЯрд╛ рджреЗрдВред

рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдм рдХреЙрд▓рд┐рдВрдЧ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдкрд╛рд░рджрд░реНрд╢реА рд╣реИ:

 var a = new Symbol('something'); var b = new Symbol('something'); 

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

рдХрд╛рд░реНрдпреЛрдВ


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

рдбрд╛рд░реНрдЯ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рддреАрди рддрд░реАрдХреЗ рд╣реИрдВред рдкрд╣рд▓реЗ рдХрд╛ рдирд╛рдо рдХрд╛рд░реНрдп рд╣реИ:

 void sayGreeting(String salutation, String name) { final greeting = '$salutation $name'; print(greeting); } 

рдпрд╣ рд╕реА рдпрд╛ рдЬрд╛рд╡рд╛ рдпрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдПрдХ рд╡рд┐рдзрд┐ рдореЗрдВ рдПрдХ рдирд┐рдпрдорд┐рдд рдлрд╝рдВрдХреНрд╢рди рдШреЛрд╖рдгрд╛ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред C рдФрд░ C ++ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдлрд╝рдВрдХреНрд╢рди рдШреЛрд╖рдгрд╛рдУрдВ рдХреЛ рдиреЗрд╕реНрдЯреЗрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛ рдЕрдирд╛рдо рдХрд╛рд░реНрдп рд╣реИ:

 window.on.click.add((event) { print('You clicked the window.'); }) 

рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рдПрдХ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЗ рд░реВрдк рдореЗрдВ add() рд╡рд┐рдзрд┐ рдореЗрдВ рдПрдХ рдЕрдирд╛рдо рдлрд╝рдВрдХреНрд╢рди рдкрд╛рд╕ рдХрд░рддреЗ add() ред рдЕрдВрдд рдореЗрдВ, рдПрдХрд▓ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╡рд╛рд▓реЗ рдЫреЛрдЯреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╣рд▓реНрдХрд╛ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИ:

 var items = [1, 2, 3, 4, 5]; var odd = items.filter((i) => i % 2 == 1); print(odd); // [1, 3, 5] 

рдПрдХ рддреАрд░ ( => ) рдХреЗ рдмрд╛рдж рдХреЛрд╖реНрдардХ рдореЗрдВ рдПрдХ рддрд░реНрдХ рдФрд░ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рддрд░реНрдХ рдХреЛ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИред

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

рдбрд╛рд░реНрдЯ рдореЗрдВ рдПрдХ рдФрд░ рдЪрд╛рд▓ рд╣реИ (рдпрд╣ рдореЗрд░реА рдкрд╕рдВрджреАрджрд╛ рднрд╛рд╖рд╛ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ) - рдЖрдк рд╡рд░реНрдЧ рдХреЗ рд╕рджрд╕реНрдпреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП => рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдмреЗрд╢рдХ, рдЖрдк рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 class Rectangle { num width, height; bool contains(num x, num y) { return (x < width) && (y < height); } num area() { return width * height; } } 

рд▓реЗрдХрд┐рди рдХреНрдпреЛрдВ, рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ, рдЗрд╕ рддрд░рд╣:

 class Rectangle { num width, height; bool contains(num x, num y) => (x < width) && (y < height); num area() => width * height; } 

рд╣рдореЗрдВ рд╕рд╛рдзрд╛рд░рдг рдЧреЗрдЯрд░реНрд╕ / рд╕реЗрдЯрд░ рдФрд░ рдЕрдиреНрдп рд╕рд┐рдВрдЧрд▓-рд▓рд╛рдЗрди рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд░реЛ рдиреЛрдЯреЗрд╢рди рдмрдврд╝рд┐рдпрд╛ рд▓рдЧрддрд╛ рд╣реИред

рдлреАрд▓реНрдб, рдЧреЗрдЯрд░реНрд╕ рдФрд░ рд╕реЗрдЯрд░


рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдбрд╛рд░реНрдЯ рдлреЙрд░реНрдо object.someProperty рдорд╛рдирдХ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдбрд╛рд░реНрдЯ рдореЗрдВ, рдЖрдк рдЙрди рддрд░реАрдХреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдХреНрд▓рд╛рд╕ рдлрд╝реАрд▓реНрдб рдХреЛ рдХреЙрд▓ рдХреА рддрд░рд╣ рджрд┐рдЦреЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдордирдорд╛рдиреЗ рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреА рддрд░рд╣, рдЗрд╕ рддрд░рд╣ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдЧреЗрдЯрд░реНрд╕ рдФрд░ рд╕реЗрдЯрд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ:

 class Rectangle { num left, top, width, height; num get right() => left + width; set right(num value) => left = value - width; num get bottom() => top + height; set bottom(num value) => top = value - height; Rectangle(this.left, this.top, this.width, this.height); } 


рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЪрд╛рд░ "рд╡рд╛рд╕реНрддрд╡рд┐рдХ" рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ Rectangle рд╡рд░реНрдЧ рд╣реИ - left , top , width рдФрд░ height рдФрд░ рджреЛ рддрд╛рд░реНрдХрд┐рдХ рдЧреБрдг рдЧреЗрдЯрд░реНрд╕ рдФрд░ рд╕реЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ - right рдФрд░ bottom ред рдХрдХреНрд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдкреНрд░рд╛рдХреГрддрд┐рдХ рдХреНрд╖реЗрддреНрд░реЛрдВ рдФрд░ рдЧреЗрдЯрд░реНрд╕ рдФрд░ рд╕реЗрдЯрд░ рдХреЗ рдмреАрдЪ рдХреЛрдИ рд╕реНрдкрд╖реНрдЯ рдЕрдВрддрд░ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ:

 var rect = new Rectangle(3, 4, 20, 15); print(rect.left); print(rect.bottom); rect.top = 6; rect.right = 12; 

рдлрд╝реАрд▓реНрдб рдФрд░ рдЧреЗрдЯрд░реНрд╕ / рд╕реЗрдЯрд░ рдХреЗ рдмреАрдЪ рдХреА рд╕реАрдорд╛ рдХреЛ рдорд┐рдЯрд╛рдирд╛ рдХрд┐рд╕реА рднрд╛рд╖рд╛ рдХреЗ рдореВрд▓рднреВрдд рдЧреБрдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдлрд╝реАрд▓реНрдб рдХреЛ "рдореИрдЬрд┐рдХ" рдЧреЗрдЯрд░реНрд╕ рдФрд░ рд╕реЗрдЯрд░реНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЛрдЪрдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ рдХрд┐ рдЖрдк рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕рд╛рде рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рдЧреЗрдЯрд░ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрддред рдпрджрд┐ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдПрдХ рдЧреЗрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдЖрдк рдПрдХ рд╣реА рдирд╛рдо рдФрд░ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝реАрд▓реНрдб рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдлрд╝реАрд▓реНрдб рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╣реИ ( final рдирд╣реАрдВ), рддреЛ рдЖрдк рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ рд╕реЗрдЯрд░ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред

рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЧреЗрдЯ рдФрд░ рдмрд╕рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд╕рдореВрд╣ рдХреЗ рд╕рд╛рде рд╡рд░реНрдЧ рдлрд╝реАрд▓реНрдб рдХреЛ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЬрд╛рд╡рд╛ рдпрд╛ рд╕реА # рдореЗрдВ рд╣реИред рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред рдпрджрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рд╕рдВрд╢реЛрдзрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ final рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдмрд╛рдж рдореЗрдВ, рдпрджрд┐ рд╕рддреНрдпрд╛рдкрди рдпрд╛ рдРрд╕рд╛ рдХреБрдЫ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХреЛ рд╣рдореЗрд╢рд╛ рдПрдХ рдЧреЗрдЯреНрдЯрд░ рдФрд░ рд╕реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░рд╛ Rectangle рд╡рд░реНрдЧ рд╣рдореЗрд╢рд╛ рдПрдХ рдЧреИрд░-рдЛрдгрд╛рддреНрдордХ рдЖрдХрд╛рд░ рдХрд╛ рд╣реЛ:

 class Rectangle { num left, top; num _width, _height; num get width() => _width; set width(num value) { if (value < 0) throw 'Width cannot be negative.'; _width = value; } num get height() => _height; set height(num value) { if (value < 0) throw 'Height cannot be negative.'; _height = value; } num get right() => left + width; set right(num value) => left = value - width; num get bottom() => top + height; set bottom(num value) => top = value - height; Rectangle(this.left, this.top, this._width, this._height); } 

рд╣рдордиреЗ рдХрд╣реАрдВ рдФрд░ рдХреЛрдб рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рд╡рд░реНрдЧ рдореЗрдВ рд╕рддреНрдпрд╛рдкрди рдЬреЛрдбрд╝рд╛ред

рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ


рдбрд╛рд░реНрдЯ рдПрдХ рд╢реБрджреНрдз рд╡рд╕реНрддреБ-рдЙрдиреНрдореБрдЦ рднрд╛рд╖рд╛ рд╣реИред рдПрдХ рдЪрд░ рдореЗрдВ рд░рдЦреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдкреНрд░рддреНрдпреЗрдХ рд╡рд╕реНрддреБ рдПрдХ рд╡рд╕реНрддреБ рд╣реИ (рдХреЛрдИ рдкрд░рд╕реНрдкрд░ "рдЖрджрд┐рдо" рдирд╣реАрдВ), рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╡рд╕реНрддреБ рдПрдХ рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдПрдХ "рд╣рдардзрд░реНрдорд┐рддрд╛" OOP рдирд╣реАрдВ рд╣реИ - рдпрд╣ рд╕рдм рдХреБрдЫ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдЕрдВрджрд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдкрд░ рдЪрд░, рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЧреЗрдЯрд░реНрд╕ рдФрд░ рд╕реЗрдЯрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

 num abs(num value) => value < 0 ? -value : value; final TWO_PI = Math.PI * 2.0; int get today() { final date = new DateTime.now(); return date.day; } 

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

рд╣рдо рдЕрднреА рднреА рдЦреЛрдЬ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдХрд┐рд╕ рддрд░рд╣ рд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдЦреЗ рдЬрд╛рдиреЗ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИред рд╣рдорд╛рд░реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛрдб рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдЕрдВрджрд░ рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рд░рдЦрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ Math ред рдпрд╣ рдХрд╣рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреА рдПрдХ рдЕрднреЗрджреНрдп рдЖрджрдд рд╣реИ, рдпрд╛ рдбрд╛рд░реНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЕрднреНрдпрд╛рд╕ рд╣реИред рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ, рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдиреНрдп рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ main() ред DOM рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, "рд╡реИрд░рд┐рдПрдмрд▓" document рдФрд░ window рдЯреЙрдк рд▓реЗрд╡рд▓ рдкрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧреЗрдЯрд░реНрд╕ рд╣реЛрддреЗ рд╣реИрдВред

рдкрдВрдХреНрддрд┐рдпреЛрдВ рдФрд░ рдЕрдВрддрд░реНрд╡реЗрд╢рди


рдбрд╛рд░реНрдЯ рдореЗрдВ рдХрдИ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╢рд╛рдмреНрджрд┐рдХ рд╣реИрдВред рдЖрдк рджреЛрд╣рд░реЗ рдФрд░ рдПрдХрд▓ рдЙрджреНрдзрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдмрд╣реБ-рдкрдВрдХреНрддрд┐ рд╢рд╛рдмреНрджрд┐рдХ рдХреЗ рд▓рд┐рдП рдЯреНрд░рд┐рдкрд▓ рдЙрджреНрдзрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 'I am a "string"' "I'm one too" '''I'm on multiple lines ''' """ As am I """ 

рдПрдХ рдореЗрдВ рдХрдИ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рд╕рдВрдШрдирди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 var name = 'Fred'; var salutation = 'Hi'; var greeting = salutation + ', ' + name; 

рд▓реЗрдХрд┐рди рдкреНрд░рдХреНрд╖реЗрдк рд╕реНрд╡рдЪреНрдЫ рдФрд░ рддреЗрдЬ рд╣реЛрдЧрд╛:

 var name = 'Fred'; var salutation = 'Hi'; var greeting = '$salutation, $name'; 

рдбреЙрд▓рд░ рдЪрд┐рд╣реНрди ( $ ) рдХреЗ рд╕реНрдерд╛рди рдкрд░, рдЪрд░ рдирд╛рдо рдХреЗ рдмрд╛рдж, рдЪрд░ рдорд╛рди рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдпрджрд┐ рдпрд╣ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдирд╣реАрдВ рд╣реИ, toString() рд╡рд┐рдзрд┐ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛)ред рдШреБрдВрдШрд░рд╛рд▓реЗ рдХреЛрд╖реНрдардХ рдХреЗ рдЕрдВрджрд░ рдЖрдк рднрд╛рд╡ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ:

 var r = 2; print('The area of a circle with radius $r is ${Math.PI * r * r}'); 

рдСрдкрд░реЗрдЯрд░реЛрдВ


рдбрд╛рд░реНрдЯ рд╕рдорд╛рди рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде, рд╕реА, рдЬрд╛рд╡рд╛ рдФрд░ рдЕрдиреНрдп рд╕рдорд╛рди рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдЖрдк рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░реЗрдВрдЧреЗ рд╡реИрд╕рд╛ рд╣реА рд╡реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реЗрдВрдЧреЗред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЖрдВрддрд░рд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЕрдкрдиреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВред рдбрд╛рд░реНрдЯ рдореЗрдВ, рдлреЙрд░реНрдо 1 + 2 рдПрдХ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдПрдХ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдЪреАрдиреА рд╣реИред рднрд╛рд╖рд╛ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдпрд╣ рдЙрджрд╛рд╣рд░рдг 1.+(2) рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред

рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдХреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЛ рдЕрдзрд┐рднрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Vector рд╡рд░реНрдЧ:

 class Vector { num x, y; Vector(this.x, this.y); operator +(Vector other) => new Vector(x + other.x, y + other.y); } 


рдЕрдм рд╣рдо рд╕рд╛рдорд╛рдиреНрдп рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реИрдХреНрдЯрд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:

 var position = new Vector(3, 4); var velocity = new Vector(1, 2); var newPosition = position + velocity; 


рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рдЕрд╡рд╕рд░ рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдо рдЖрдкрдХреЛ рдЗрд╕ рдЙрдореНрдореАрдж рдореЗрдВ рдХрд╛рд░ рдХреА рдЪрд╛рдмреА рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдЦрдВрднреЗ рдкрд░ рдирд╣реАрдВ рдЪрдврд╝реЗрдВрдЧреЗред

рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдпрджрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдВрдХреЗрдд рд╣реИ рдХрд┐ рдпрд╣ рдЙрдирдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ: рдЬрдЯрд┐рд▓ рд╕рдВрдЦреНрдпрд╛, рд╡реИрдХреНрдЯрд░, рдореИрдЯреНрд░реАрд╕, рдЖрджрд┐ред рдЕрдиреНрдп рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЛ рдУрд╡рд░рд▓реЛрдб рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИред рдУрд╡рд░рд▓реЛрдб рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рдХрд╛рд░ рдЖрдорддреМрд░ рдкрд░ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐, рдЪреВрдВрдХрд┐ рдСрдкрд░реЗрдЯрд░ рд╡рд┐рдзрд┐ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡реЗ рд╢реБрд░реВ рдореЗрдВ рдЕрд╕рдордорд┐рдд рд╣реИрдВред рдПрдХ рд╡рд┐рдзрд┐ рдЦреЛрдЬ рд╣рдореЗрд╢рд╛ рдмрд╛рдПрдВ рддрд░реНрдХ рдХреЗ рд▓рд┐рдП рдХреА рдЬрд╛рддреА рд╣реИред рдЗрд╕рд▓рд┐рдП рдЬрдм рдЖрдк a + b рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдСрдкрд░реЗрд╢рди рдХрд╛ рдЕрд░реНрде a рдХреЗ рдкреНрд░рдХрд╛рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ a ред

рд╕рдорд╛рдирддрд╛


рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рдЗрд╕ рд╕реЗрдЯ рдкрд░ рд╡рд┐рд╢реЗрд╖ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдбрд╛рд░реНрдЯ рдореЗрдВ рджреЛ рдЬреЛрдбрд╝реЗ рд╕рдорд╛рдирддрд╛ рдСрдкрд░реЗрдЯрд░ рд╣реИрдВ: == рдФрд░ != рдФрд░ === рдФрд░ !== ред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рд╡реЗ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

== рдФрд░ != рддреБрд▓реНрдпрддрд╛ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред 99% рд╕рдордп рдЖрдк рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╡реЗ рдХреЛрдИ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд░реВрдкрд╛рдВрддрд░рдг рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡реЗ рдЕрдзрд┐рдХ рдЕрдиреБрдорд╛рдирд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реЗрдВрдЧреЗред рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдбрд░реЛ рдордд! рдЬрд╛рд╡рд╛ рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╡реЗ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорддреБрд▓реНрдп рд╕рдВрдмрдВрдз рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреЛрдИ рдФрд░ рдирд╣реАрдВ рдХреБрдЫ someString.equals("something") ред

рдпрджрд┐ рдЖрдк рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП == рдЕрдзрд┐рднрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдУрд╡рд░рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ != , рдбрд╛рд░реНрдЯ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ == рд╕реЗ рд╣рдЯрд╛ рджреЗрдЧрд╛ред

рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреА рджреВрд╕рд░реА рдЬреЛрдбрд╝реА, === рдФрд░ !== , рдкрд╣рдЪрд╛рди рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдХрд░рддреА рд╣реИред a === b рддрднреА true рд▓реМрдЯреЗрдЧрд╛ рдЬрдм a рдФрд░ b рдореЗрдореЛрд░реА рдореЗрдВ рд╕рдорд╛рди рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реЛрдВред рдЖрдкрдХреЛ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдЙрдиреНрд╣реЗрдВ рдЕрднреНрдпрд╛рд╕ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, == рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ === рдпрджрд┐ рдХреЛрдИ рд╕рдорддреБрд▓реНрдп рд╕рдВрдмрдВрдз рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИ, рддреЛ === рдХреЗрд╡рд▓ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП == ред

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


All Articles