рдПрд▓реНрдХ рдкреНрд░рдХрд▓реНрдк рдорд╛рдпрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░рд╕рд╛рдареА рдХреЙрдореНрдкреЕрдХреНрдЯ JavaScript рдЗрдВрдЬрд┐рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЛ

рдПрд▓реНрдХ 2.0.9 JavaScript рдЗрдВрдЬрд┐рдирдЪреЗ рдирд╡реАрди рдкреНрд░рдХрд╛рд╢рди рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ, рдЬреНрдпрд╛рдЪрд╛ рдЙрджреНрджреЗрд╢ 32KB RAM рдЖрдгрд┐ 2KB рдлреНрд▓реЕрд╢рд╕рд╣ ESP30 рдЖрдгрд┐ Arduino рдиреЕрдиреЛ рдмреЛрд░реНрдбрд╕рд╣ рдорд╛рдпрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░рд╕рд╛рд░рдЦреНрдпрд╛ рд╕рдВрд╕рд╛рдзрди-рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдкреНрд░рдгрд╛рд▓реАрдВрд╡рд░ рд╡рд╛рдкрд░рдгреЗ рдЖрд╣реЗ. рдкреНрд░рджрд╛рди рдХреЗрд▓реЗрд▓реЗ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрди рдСрдкрд░реЗрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, 100 рдмрд╛рдЗрдЯреНрд╕ рдореЗрдорд░реА рдЖрдгрд┐ 20 KB рд╕реНрдЯреЛрд░реЗрдЬ рд╕реНрдкреЗрд╕ рдкреБрд░реЗрд╢реА рдЖрд╣реЗ. рдкреНрд░рдХрд▓реНрдк рдХреЛрдб рд╕реА рднрд╛рд╖реЗрдд рд▓рд┐рд╣рд┐рд▓реЗрд▓рд╛ рдЖрд╣реЗ рдЖрдгрд┐ GPLv2 рдкрд░рд╡рд╛рдиреНрдпрд╛рдЕрдВрддрд░реНрдЧрдд рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рдкреНрд░рдХрд▓реНрдк рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, C рдХрдВрдкрд╛рдЗрд▓рд░ рдкреБрд░реЗрд╕реЗ рдЖрд╣реЗ - рдХреЛрдгрддреЗрд╣реА рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрд╡рд▓рдВрдмрди рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдд рдирд╛рд╣реА. рд╣рд╛ рдкреНрд░рдХрд▓реНрдк рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯреАрдордЪреНрдпрд╛ рд╡рд┐рдХрд╕рдХрд╛рдВрджреНрд╡рд╛рд░реЗ IoT рдбрд┐рд╡реНрд╣рд╛рдЗрд╕реЗрд╕ рдордВрдЧреВрдЬ OS, mJS JavaScript рдЗрдВрдЬрд┐рди рдЖрдгрд┐ рдПрдореНрдмреЗрдбреЗрдб рдореЛрдВрдЧреВрдЬ рд╡реЗрдм рд╕рд░реНрд╡реНрд╣рд░ (рд╕реАрдореЗрдиреНрд╕, рд╢реНрдирд╛рдЗрдбрд░ рдЗрд▓реЗрдХреНрдЯреНрд░рд┐рдХ, рдмреНрд░реЙрдбрдХреЙрдо, рдмреЙрд╢, рдЧреБрдЧрд▓, рд╕реЕрдорд╕рдВрдЧ рдЖрдгрд┐ рдХреНрд╡рд╛рд▓рдХреЙрдо рд╕рд╛рд░рдЦреНрдпрд╛ рдХрдВрдкрдиреНрдпрд╛рдВрдЪреНрдпрд╛ рдЙрддреНрдкрд╛рджрдирд╛рдВрдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рддреЛ) рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рдд рдЖрд╣реЗ. ).

Elk рдЪрд╛ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢ JavaScript рдордзреАрд▓ рдорд╛рдпрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░рд╕рд╛рдареА рдлрд░реНрдорд╡реЗрдЕрд░ рддрдпрд╛рд░ рдХрд░рдгреЗ рдЖрд╣реЗ рдЬреЗ рд╡рд┐рд╡рд┐рдз рдСрдЯреЛрдореЗрд╢рди рдХрд╛рд░реНрдпреЗ рдХрд░рддрд╛рдд. рд╣реЗ рдЗрдВрдЬрд┐рди JavaScript рд╣рдБрдбрд▓рд░реНрд╕рдирд╛ C/C++ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрдордзреНрдпреЗ рдПрдореНрдмреЗрдб рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рджреЗрдЦреАрд▓ рдпреЛрдЧреНрдп рдЖрд╣реЗ. рддреБрдордЪреНрдпрд╛ рдХреЛрдбрдордзреНрдпреЗ рдЗрдВрдЬрд┐рди рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдлрдХреНрдд elk.c рдлрд╛рдЗрд▓ рд╕реЛрд░реНрд╕ рдЯреНрд░реАрдордзреНрдпреЗ рдареЗрд╡рд╛, elk.h рд╣реЗрдбрд░ рдлрд╛рдЗрд▓ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рд╛ рдЖрдгрд┐ js_eval рдХреЙрд▓ рд╡рд╛рдкрд░рд╛. JavaScript рд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреВрди C/C++ рдХреЛрдбрдордзреНрдпреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдлрдВрдХреНрд╢рдиреНрд╕рдирд╛ рдХреЙрд▓ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рдЖрд╣реЗ рдЖрдгрд┐ рддреНрдпрд╛рдЙрд▓рдЯ. JavaScript рдХреЛрдб рджреБрднрд╛рд╖реНрдпрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди рдореБрдЦреНрдп рдХреЛрдбрдкрд╛рд╕реВрди рд╡реЗрдЧрд│реНрдпрд╛ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ рдЬреЛ рдмрд╛рдпрдХреЛрдб рддрдпрд╛рд░ рдХрд░рдд рдирд╛рд╣реА рдЖрдгрд┐ рдбрд╛рдпрдиреЕрдорд┐рдХ рдореЗрдорд░реА рд╡рд╛рдЯрдк рд╡рд╛рдкрд░рдд рдирд╛рд╣реА.

Elk Ecmascript 6 рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рдирдЪрд╛ рдПрдХ рдЫреЛрдЯрд╛ рдЙрдкрд╕рдВрдЪ рд▓рд╛рдЧреВ рдХрд░рддреЗ, рдкрд░рдВрддреБ рдХрд╛рд░реНрдпрд░рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреБрд░реЗрд╕рд╛ рдЖрд╣реЗ. рд╡рд┐рд╢реЗрд╖рддрдГ, рддреЗ рдСрдкрд░реЗрдЯрд░ рдЖрдгрд┐ рдкреНрд░рдХрд╛рд░рд╛рдВрдЪреНрдпрд╛ рдореВрд▓рднреВрдд рд╕рдВрдЪрд╛рд▓рд╛ рд╕рдорд░реНрдерди рджреЗрддреЗ, рдкрд░рдВрддреБ рдЕреЕрд░реЗ, рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд┐рдВрд╡рд╛ рдпрд╛, рдирд╡реАрди рдЖрдгрд┐ рд╣рдЯрд╡рд▓реЗрд▓реНрдпрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреАрдВрдирд╛ рд╕рдорд░реНрдерди рджреЗрдд рдирд╛рд╣реА. var рдЖрдгрд┐ const рдРрд╡рдЬреА let рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪрд╛ рдЖрдгрд┐ do рдРрд╡рдЬреА switch рдЖрдгрд┐ for рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдЖрд╣реЗ. рдХреЛрдгрддреАрд╣реА рдорд╛рдирдХ рд▓рд╛рдпрдмреНрд░рд░реА рдкреНрд░рджрд╛рди рдХреЗрд▓реЗрд▓реА рдирд╛рд╣реА, рдЙрджрд╛. рдЕрд╕реЗ рдХреЛрдгрддреЗрд╣реА Date, Regexp, Function, String рдЖрдгрд┐ Number рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдирд╛рд╣реАрдд.

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛