рдПрдХ рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░

рдХреНрдпрд╛ рдЖрдк рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдРрд╕реА рдЪреАрдЬреЗрдВ рд▓рд┐рдЦрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ?

$ ('.btn-toogle').onclick (lambda $ (this).toggleClass ('active')); 

 var chars = Array.prototype.forEach.call ('0123456789abcdef', lambda arg.charCodeAt (0)); 

 function fn (arg1 = 100, arg2 = 'test'){ ... } 

 var html = h` <div> <a href="...">link</a> </div>`; 

 for (var key, value in object) console.log (key + ' = ' + value); 


рддрдм рд╢рд╛рдпрдж рдпрд╣ рд▓реЗрдЦ рдЖрдкрдХреЛ рджрд┐рд▓рдЪрд╕реНрдкреА рджреЗрдЧрд╛ред

рдореИрдВ рдХрд┐рд╕реА рдХрд╣рд╛рдиреА рдХреА рддрд░рд╣ рдмреЛрд░рд┐рдпрдд рдХреЛ рдЪрд┐рддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рдпрд╛ рдореИрдВрдиреЗ рдпрд╣ рдмрд╛рдд рдХреНрдпреЛрдВ рдХреАред рдореИрдВ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдпрд╣ рдмрддрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ Node.JS рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ PEG.js рдкрд╛рд░реНрд╕рд░ рдЬрдирд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡реИрд╕реЗ, рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рдПрдХ рддрд╛рдХрдд (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдореЗрд░реЗ рд▓рд┐рдП рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ) рдпрд╣ рд╣реИ рдХрд┐ рдирд┐рдпрдорд┐рдд рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд╛рд░реНрд╕ рд╣реИред рдЦреИрд░, рдЬрдм рддрдХ, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдХреЛрдб рдореЗрдВ рд▓реИрдореНрдмреНрдбрд╛, рдореЙрдбреНрдпреВрд▓, рдЖрдпрд╛рдд рдпрд╛ рдирд┐рд░реНрдпрд╛рдд рдЬреИрд╕реЗ рдХреАрд╡рд░реНрдб рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

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

рдЕрдзрд┐рдХрд╛рдВрд╢ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдкрд╣рд▓реЗ рд╣реА рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдм рдореИрдВ рдЖрдкрдХреЛ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдмрддрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред

1. рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕рдВрдХреЗрддрдиред


 var way0 = lambda arg.charCodeAt (0), way1 = lambda (arg) arg.charCodeAt (0), way2 = lambda { return arg.charCodeAt (0) }, way3 = lambda (arg){ arg.charCodeAt (0) }, result = function (arg){ return arg.charCodeAt (0) }; 

рд╕рднреА рдЪрд╛рд░ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд╡рд┐рдзрд┐рдпрд╛рдВ рд╕рдорд╛рди рдкрд░рд┐рдгрд╛рдо рджреЗрддреА рд╣реИрдВред рддрд░реНрдХ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рдирдореЗрдВ рдирд┐рдпрдорд┐рдд рддрд░реНрдХ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдпрджрд┐ рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкреВрд░реЗ рд╢рд░реАрд░ рдореЗрдВ рдПрдХ рдСрдкрд░реЗрд╢рди рд╣реЛрддрд╛ рд╣реИ (рдХрдерди; рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреИрд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд░реВрд╕реА рдмреЛрд▓рдирд╛ рд╣реИ), рддреЛ рдлрд╝рдВрдХреНрд╢рди рдЗрд╕ рдСрдкрд░реЗрд╢рди рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджреЗрдЧрд╛ред

рдпрд╣рд╛рдБ рдХреБрдЫ рдФрд░ рдЙрджрд╛рд╣рд░рдг рджрд┐рдП рдЧрдП рд╣реИрдВ:
 var //     example0 = lambda (a, b, c, d) a + b + c + d, //   forEach example1 = lambda (a, fn) for (var i = 0; i < a.length; i ++) fn (a [i]), //     a  b. example2 = lambda { a: arg * 2, b: arg }; 


2. рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдлрд╝рдВрдХреНрд╢рди рддрд░реНрдХред


рдХреБрдЫ рдЦрд╛рд╕ рдирд╣реАрдВ, рд╢реАрд░реНрд╖рдХ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЦреБрдж рдХреЗ рд▓рд┐рдП рдмреЛрд▓рддрд╛ рд╣реИред
 function fn (arg1 = 100, arg2 = 'test'){ ... } 

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

3. рдорд▓реНрдЯреА-рд▓рд╛рдЗрди рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ (рдореИрдВ рдРрд╕реА рдмрджрд╕реВрд░рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдорд╛рдлреА рдорд╛рдВрдЧрддрд╛ рд╣реВрдВ)ред


рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ '' 'рд╡рд░реНрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рддрд╛рд░ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред рдЖрдк рдЕрдВрдд рдореЗрдВ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд╕рд┐рд░реЛрдВ рдкрд░ "" рд░рдЦрдирд╛ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ, рдХреЛрдИ рднреА рдЖрдорддреМрд░ рдкрд░ рдирд╣реАрдВ рд▓рд┐рдЦрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдмрд╣реБ-рдкрдВрдХреНрддрд┐ рд▓рд╛рдЗрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ)ред рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рдирд╣реАрдВ рд╣реИред рдЙрджреНрдШрд╛рдЯрди рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрди рд╕реЗ рдкрд╣рд▓реЗ рдЪрд░рд┐рддреНрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдкрд╛рда рдХреЛ рдЕрдВрджрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред "H" рд▓рд┐рдЦрд┐рдП рдФрд░ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ html-рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдХреБрдЪрд┐рдд рдХрд░реЗрдЧрд╛, "c" рдХреЛ css- рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ, "s" рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЛ рд╣рдЯрд╛ рджреЗрдЧрд╛, "l" рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдЕрдВрджрд░ LESS рдХреЛ CSS рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рджреЗрдЧрд╛ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдпрд╣ рдХрдВрдкреНрд░реЗрд╕ рднреА рдХрд░реЗрдЧрд╛, рдФрд░ "" lp "- рдореЗрд░рд╛ рдкрд╕рдВрджреАрджрд╛ :) - рди рдХреЗрд╡рд▓ LESS рдХреЛ CSS рдореЗрдВ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЧреБрдгреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рднреА рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред рдмрд╣реБрдд рд╕рд╣рдЬ рд╣реИред

4. рдореЙрдбреНрдпреВрд▓ред


рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдпрд╣ рдПрдХ рд╣реА рдЬрд╛рд╡рд╛ рд╕реЗ рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдПрдХ рдкреНрд░рдХрд╛рд░ рд╕реЗ рдПрдХ рдЕрд░реНрде рдореЗрдВ рд╣реИред рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд╡рд░реНрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╣реИрдВ, рд╣реИ рдирд╛?

рдореЙрдбреНрдпреВрд▓ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдорддреМрд░ рдкрд░ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕реНрдерд┐рд░ рдХрдХреНрд╖рд╛рдПрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ (рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд╢рдмреНрдж рдмрд┐рд▓реНрдХреБрд▓ рдореМрдЬреВрдж рд╣реИ)ред

рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:

 module Example { function init (){ // ... } } 

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

рдФрд░ рдпрд╣ рд╣реИ рдХрд┐ рджреЛ рдореЙрдбреНрдпреВрд▓ рдХреИрд╕реЗ рджрд┐рдЦрддреЗ рд╣реИрдВ рдпрджрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рджреВрд╕рд░реЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 module First { export function test (){ console.log ('    .'); } function init (){ console.log (' тАФ .'); } } module Second { import First; function init (){ console.log ('   тАФ ,       ,   .'); First.test (); } } 


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

рдареАрдХ рд╣реИ, рд╡рд╣рд╛рдБ рднреА рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдХреЗ рдирд┐рд░реНрдпрд╛рдд рдЪрд░ рд╣реИрдВ:
 module First { import @Second; export function test (){ console.log ('    ┬л1024┬╗: ' + Second.value); } } module Second { import First; export var value = 1024; function init (){ First.test (); } } 


рд╡реИрд╕реЗ, рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡рд╛рдВрдЫрдиреАрдп рд╣реИред :)

5. рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ред


рдХреЛрдб рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдлрд╝рд╛рдЗрд▓ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдореБрд╢реНрдХрд┐рд▓ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
 // ==Jsx== // @target web:onload // @build-to build/ // @define __VERSION__ 1.00 // @import utils/string.format // @include jquery.min.js // ==/Jsx== 

(рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рд▓рдЧрднрдЧ рдПрдХ рд╣реА рд╢реИрд▓реА рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рд╣реИрдВред)



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

рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдпрд╣рд╛рдВ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ ред рдореИрдВ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдорд╛рдлреА рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред :)

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


All Articles