{"id":120214,"date":"2024-10-17T13:09:19","date_gmt":"2024-10-17T11:09:19","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/opublikovana-platforma-node-js-23-0-s-nachalnoj-podderzhkoj-yazyka-typescript"},"modified":"2026-02-15T22:30:50","modified_gmt":"2026-02-15T20:30:50","slug":"opublikovana-platforma-node-js-23-0-s-nachalnoj-podderzhkoj-yazyka-typescript","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/news\/opublikovana-platforma-node-js-23-0-s-nachalnoj-podderzhkoj-yazyka-typescript","title":{"rendered":"Avaldatud on Node.js 23.0, millel on algne tugi TypeScripti keelele","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ilmumisest toimus Node.js 23.0.0, JavaScriptiga veebirakenduste k\u00e4itamise platvorm. Node.js 23.0 kuulub vahepealsetesse harudesse, mille hooldus kestab 7 kuud (kuni juuni 2025). J\u00e4rgmise n\u00e4dala jooksul l\u00f5petatakse Node.js 22 haru stabiliseerimine, mis saab 29. oktoobril LTS staatus ja seda toetatakse kuni aprillini 2027. Eelmiste LTS-haru Node.js 20.x ja 18.x toetamine kestab kuni aprillini 2026 ja 2025 vastavalt.       <\/p>\n<p>Peamised t\u00e4iustused:  <\/p>\n<ul>\n<li class=\"l\"> Lisatud katse toetus TypeScript'i keelele, mis v\u00f5imaldab deklareerida t\u00fc\u00fcpide otseselt. Tugi aktiveeritakse valikute abil &#171;&#8212;experimental-strip-types&#187; ja &#171;&#8212;experimental-transform-types&#187;. Esimese valiku puhul on TypeScript'i kasutamine piiritletud keele spetsiifiliste t\u00fc\u00fcbide m\u00e4\u00e4ratlemise eemaldamisega (t\u00fc\u00fcpide kontroll ei toimu, kood muudetakse lihtsalt JavaScript'i vormingusse ilma t\u00fc\u00fcpideta). Teine valik viib m\u00f5ningate TypeScript'i s\u00fcntaksi elementide, n\u00e4iteks loendite (enum) ja nimiruumide (namespace), JavaScript'i koodi t\u00f5lgendamiseni.\n<li class=\"l\"> Vaikimisi on lubatud kasutada &#171;require()&#187; funktsiooni ESM (ECMAScript Modules) JavaScript'i moodulite s\u00fcnkroonseks laadimiseks. ESM-mooduleid kasutatakse brauserites ja need asendavad Node.js'le ainuomased CommonJS moodulid. ESM-mooduli laadimiseks Node.js-is peab see toimuma s\u00fcnkroonse re\u017eiimi all (ilma await-ita \u00fclemisel tasemel).\n<li class=\"l\"> Automaatne ESM-moodulite tuvastamine failides, millel pole laiendit v\u00f5i millel on laiend &#171;.js&#187;. Varasemalt t\u00f5lgendati selliseid faile kui CommonJS mooduleid, kui sama katalooge moodulipakett (package.json) ei m\u00e4\u00e4ratlenud selgelt nende t\u00fc\u00fcpi (&#171;type&#187;: &#171;module&#187;). Uues versioonis proovib s\u00fcsteem k\u00f5igepealt laadida kui CommonJS moodulit, ja kui see eba\u00f5nnestub, siis ESM moodulina.\n<li class=\"l\"> Eksperimentaalne teostus on lisatud <a href=\"https:\/\/prohoster.info\/et\/ssl-sertifikat\/rapidssl-wildcard\/\"  data-wpil-monitor-id=\"3321\">brauserite \u00fchildatav<\/a> Web Storage API, mis on m\u00f5eldud andmete s\u00e4ilitamiseks v\u00f5tme\/v\u00e4\u00e4rtuse formaadis, kas p\u00fcsivalt (class localStorage) v\u00f5i ajaliselt (class sessionStorage). Web Storage'i toe lubamiseks on vaja k\u00e4ivitada lipuga &#171;&#8212;experimental-webstorage&#187; ja m\u00e4\u00e4rata teekonnaks failile, kus salvestus asub, lippu &#171;&#8212;localstorage-file&#187; kaudu.\n<li class=\"l\"> Lisatud katse API SQLite jaoks, et t\u00f6\u00f6tada andmebaasidega, kasutades SQL p\u00e4ringute keelt ja salvestust SQLite teegil. Andmebaasi saab lisaks kettale salvestamisele hoida ka m\u00e4lu, m\u00e4\u00e4rates faili nime asemel &#171;:memory:&#187;. \u00dclalmainitud Web Storage API on samuti rakendatud SQLite \u00fcle, mis t\u00f5i kaasa SQLite lisamise Node.js s\u00f5ltuvuste hulka.\n<li class=\"l\"> Stabiilseks kuulutatud k\u00e4sk &#171;node &#8212;run&#187;, mis on ette n\u00e4htud skriptide k\u00e4ivitamiseks, mis on m\u00e4\u00e4ratletud failis package.json.\n<li class=\"l\"> Teostatud on valikuline toe rakendamine salvestatud koodi vahem\u00e4llu, et kiirendada m\u00e4rkimisv\u00e4\u00e4rselt moodulite k\u00e4ivitamist. Vahem\u00e4lu lubamine toimub keskkonnamuutuja NODE_COMPILE_CACHE kaudu. Selle eesm\u00e4rk on sarnane paketiga v8-compile-cache, kuid see pakub paremat j\u00f5udlust ja toetab ESM mooduleid.\n<li class=\"l\"> Optimeeritud on Buffer objekt, mis on oluliselt suurendanud Buffer.copy() ja Buffer.write() meetodite j\u00f5udlust.\n<li class=\"l\"> Node:fs mooduli j\u00f5udlus on paranend, samuti on v\u00e4hendatud C++ koodi kutsete arvu t\u00f6\u00f6tamise k\u00e4igus.\n<li class=\"l\"> V8 mootor on uuendatud versioonile 12.9, mida kasutatakse Chromiumis 129.\n<li class=\"l\"> Toetused 32-bitistele s\u00fcsteemidele Windowsi operatsioonis\u00fcsteemiga on eemaldatud.\n<li class=\"l\"> C++20 standardis m\u00e4\u00e4ratletud v\u00f5imaluste rakendamise t\u00f5ttu Node.js-s ja V8 mootoris on t\u00f5usnud n\u00f5udmised GCC kompilaatori versioonile. Node.js kogumiseks on n\u00fc\u00fcd vajalik v\u00e4hemalt GCC versioon 12.      <\/ul>\n<p>Node.js platvormi saab kasutada nii veebirakenduste serveripoolseks toe tagamiseks kui ka tavaliste klient-serveri v\u00f5rgurakenduste loomiseks. Node.js jaoks on v\u00e4lja t\u00f6\u00f6tatud suur moodulite kogumik, kust leiate mooduleid, mis h\u00f5lmavad  <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/et\/server\/\"   title=\"serverid\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1737\">serverid<\/a> HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 kliente, mooduleid erinevate veebiraamistike integreerimiseks, WebSocket ja Ajax t\u00f6\u00f6tlejat, andmebaasi \u00fchendusi (MySQL, PostgreSQL, SQLite, MongoDB), malligeneraatorid, CSS-mootorid, kr\u00fcptoalgoritmide rakendused ja autentimiss\u00fcsteemid (OAuth), XML-parsereid.    <\/p>\n<p> Paljude paralleelsete p\u00e4ringute t\u00f6\u00f6tlemiseks kasutab Node.js as\u00fcnkroonset koodi k\u00e4ivitamise mudelit, mis p\u00f5hineb mitteblokeeriva s\u00fcndmuste t\u00f6\u00f6tlemisel ja tagasiside t\u00f6\u00f6tlejate m\u00e4\u00e4ratlemisel. \u00dchenduste multiplexerimise meetoditeks on toetatud n\u00e4iteks epoll, kqueue, \/dev\/poll ja select. \u00dchenduste multiplexerimiseks kasutatakse raamatukogu libuv, mis on s\u00fcsteemides Unix libev-i ja Windowsis IOCP \u00fclemaailmne kiht. Kiiruseteemade basseini (thread pool) loomiseks kasutatakse raamatukogu libeio ning mitteblokeeriva DNS-p\u00e4ringute t\u00e4itmiseks on integreeritud c-ares. K\u00f5ik s\u00fcsteemikutsed, mis p\u00f5hjustavad blokeerimist, t\u00e4idetakse teemapools ja seej\u00e4rel edastavad tulemuse t\u00f6\u00f6tluse tagasi anon\u00fc\u00fcmsesse kanali (pipe) kaudu, sarnaselt signaali t\u00f6\u00f6tlejatega.     <\/p>\n<p>JavaScripti koodi t\u00e4itmine toimub Google'i arendatud V8 mootori kaudu (lisaks arendab Microsoft Node.js varianti Chakra-Core mootori abil). Node.js on olemuselt sarnane Perl AnyEvent, Ruby Event Machine, Python Twisted ja Tcl'i s\u00fcndmust\u00f6\u00f6tluse raamistikuga, kuid Node.js s\u00fcndmust\u00f6\u00f6tluse ts\u00fckkel on arendajate eest peidetud ja meenutab s\u00fcndmust\u00f6\u00f6tlust veebirakenduses, mis t\u00f6\u00f6tab brauseris.<br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=62066\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 23.0.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript. Node.js 23.0 \u043e\u0442\u043d\u0435\u0441\u0451\u043d \u043a \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u043c \u0432\u0435\u0442\u043a\u0430\u043c, \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 7 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 (\u0434\u043e \u0438\u044e\u043d\u044f 2025 \u0433\u043e\u0434\u0430). \u0412 \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0438\u0435 \u0434\u043d\u0438 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0430 \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0432\u0435\u0442\u043a\u0438 Node.js 22, \u043a\u043e\u0442\u043e\u0440\u0430\u044f 29 \u043e\u043a\u0442\u044f\u0431\u0440\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u0442 \u0441\u0442\u0430\u0442\u0443\u0441 LTS \u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043e \u0430\u043f\u0440\u0435\u043b\u044f 2027 \u0433\u043e\u0434\u0430. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043f\u0440\u043e\u0448\u043b\u044b\u0445 LTS-\u0432\u0435\u0442\u043e\u043a Node.js [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-120214","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 23.0.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/news\/opublikovana-platforma-node-js-23-0-s-nachalnoj-podderzhkoj-yazyka-typescript\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Node.js 23.0 \u0441 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u044f\u0437\u044b\u043a\u0430 TypeScript | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 23.0.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/news\/opublikovana-platforma-node-js-23-0-s-nachalnoj-podderzhkoj-yazyka-typescript\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-10-17T11:09:19+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-02-15T20:30:50+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Node.js 23.0 platvormi v\u00e4ljaanne koos algse TypeScripti toe toetusega | ProHoster","description":"Ilmus Node.js versioon 23.0.0, platvorm JavaScripti p\u00f5histe v\u00f5rgurakenduste k\u00e4itamiseks.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/news\/opublikovana-platforma-node-js-23-0-s-nachalnoj-podderzhkoj-yazyka-typescript","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Node.js 23.0 \u0441 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u044f\u0437\u044b\u043a\u0430 TypeScript | ProHoster","og:description":"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 23.0.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript.","og:url":"https:\/\/prohoster.info\/et\/blog\/news\/opublikovana-platforma-node-js-23-0-s-nachalnoj-podderzhkoj-yazyka-typescript","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2024-10-17T11:09:19+00:00","article:modified_time":"2026-02-15T20:30:50+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"120214","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-02-15 20:31:56","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 07:21:39","updated":"2026-02-15 20:31:56","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/120214","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=120214"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/120214\/revisions"}],"predecessor-version":[{"id":161185,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/120214\/revisions\/161185"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=120214"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=120214"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=120214"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}