<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.aprelteam.by/index.php?action=history&amp;feed=atom&amp;title=JavaScript</id>
	<title>JavaScript - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.aprelteam.by/index.php?action=history&amp;feed=atom&amp;title=JavaScript"/>
	<link rel="alternate" type="text/html" href="https://wiki.aprelteam.by/index.php?title=JavaScript&amp;action=history"/>
	<updated>2026-08-02T00:24:31Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.44.6</generator>
	<entry>
		<id>https://wiki.aprelteam.by/index.php?title=JavaScript&amp;diff=4241&amp;oldid=prev</id>
		<title>APRELKUN в 23:06, 14 апреля 2024</title>
		<link rel="alternate" type="text/html" href="https://wiki.aprelteam.by/index.php?title=JavaScript&amp;diff=4241&amp;oldid=prev"/>
		<updated>2024-04-14T23:06:17Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 02:06, 15 апреля 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Строка 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Файл:Javascript-glitch-debug-js-sources-get-started-inputs-are-empty-call-stack-mark-as-library-code.msft.png|thumb|350px|Использование функций отладчика]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;JavaScript&amp;#039;&amp;#039;&amp;#039; (aka &amp;#039;&amp;#039;JS, Жиес, Яваскрипт, Жабаскрипт&amp;#039;&amp;#039;) — скриптовый язык программирования, один из трех китов современного [[Интернет]]а. Именно создание JavaScript наибольшим образом повлияло на развитие нового поколения Интернета, позволив динамическое обновление страницы (в то время как [[CSS]] и [[HTML|HTML4]] позволяли только красиво страницы оформить).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;JavaScript&amp;#039;&amp;#039;&amp;#039; (aka &amp;#039;&amp;#039;JS, Жиес, Яваскрипт, Жабаскрипт&amp;#039;&amp;#039;) — скриптовый язык программирования, один из трех китов современного [[Интернет]]а. Именно создание JavaScript наибольшим образом повлияло на развитие нового поколения Интернета, позволив динамическое обновление страницы (в то время как [[CSS]] и [[HTML|HTML4]] позволяли только красиво страницы оформить).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l48&quot;&gt;Строка 48:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 47:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Фактически, на данный момент, TypeScript является стандартом в отрасли Web-разработки: по умолчанию идет с фреймворком Angular, существует возможность писать приложения на React с использованием JS/TS/обоих одновременнно; многие пакеты для JS либо пишутся на TypeScript, либо, если написаны на JS, имеют декларацию типов, позволяя использовать библиотеки и в проектах с TypeScript.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Фактически, на данный момент, TypeScript является стандартом в отрасли Web-разработки: по умолчанию идет с фреймворком Angular, существует возможность писать приложения на React с использованием JS/TS/обоих одновременнно; многие пакеты для JS либо пишутся на TypeScript, либо, если написаны на JS, имеют декларацию типов, позволяя использовать библиотеки и в проектах с TypeScript.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{nav|Software|Интернет|Программирование}}&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Категория:Интернет]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Категория:Интернет]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>APRELKUN</name></author>
	</entry>
	<entry>
		<id>https://wiki.aprelteam.by/index.php?title=JavaScript&amp;diff=2821&amp;oldid=prev</id>
		<title>APRELKUN: Новая страница: «Использование функций отладчика &#039;&#039;&#039;JavaScript&#039;&#039;&#039; (aka &#039;&#039;JS, Жиес, Яваскрипт, Жабаскрипт&#039;&#039;) — скриптовый язык программирования, один из трех китов современного Интернета. Именно создание JavaScr...»</title>
		<link rel="alternate" type="text/html" href="https://wiki.aprelteam.by/index.php?title=JavaScript&amp;diff=2821&amp;oldid=prev"/>
		<updated>2023-10-25T12:57:32Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «&lt;a href=&quot;/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Javascript-glitch-debug-js-sources-get-started-inputs-are-empty-call-stack-mark-as-library-code.msft.png&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Файл:Javascript-glitch-debug-js-sources-get-started-inputs-are-empty-call-stack-mark-as-library-code.msft.png (страница не существует)&quot;&gt;thumb|350px|Использование функций отладчика&lt;/a&gt; &amp;#039;&amp;#039;&amp;#039;JavaScript&amp;#039;&amp;#039;&amp;#039; (aka &amp;#039;&amp;#039;JS, Жиес, Яваскрипт, Жабаскрипт&amp;#039;&amp;#039;) — скриптовый язык программирования, один из трех китов современного &lt;a href=&quot;/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82&quot; title=&quot;Интернет&quot;&gt;Интернета&lt;/a&gt;. Именно создание JavaScr...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Файл:Javascript-glitch-debug-js-sources-get-started-inputs-are-empty-call-stack-mark-as-library-code.msft.png|thumb|350px|Использование функций отладчика]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;JavaScript&amp;#039;&amp;#039;&amp;#039; (aka &amp;#039;&amp;#039;JS, Жиес, Яваскрипт, Жабаскрипт&amp;#039;&amp;#039;) — скриптовый язык программирования, один из трех китов современного [[Интернет]]а. Именно создание JavaScript наибольшим образом повлияло на развитие нового поколения Интернета, позволив динамическое обновление страницы (в то время как [[CSS]] и [[HTML|HTML4]] позволяли только красиво страницы оформить).&lt;br /&gt;
&lt;br /&gt;
Технически это объектно-ориентированный, процедурный язык программирования. Был впервые анонсирован компанией Netspace в 1995 году. Язык был разработан для «оживления» статичных веб-страниц. С появлением этого языка сайты стали более интерактивными и дружелюбными. Не нужно путать с Java. Java и JavaScript это совершенно разные языки программирования.&lt;br /&gt;
&lt;br /&gt;
Основная задача JS — жонглирование стилями элементов страницы, задание анимаций, всплывающих окон. Кроме того, JS может выполнять математические вычисления, устанавливать таймеры, работать с датой и временем, производить манипуляции с файлами куки. JS позволяет отправлять данные на сервер без перезагрузки страницы (технология AJAX). Таким образом экономится трафик и уменьшается нагрузка на сервер, а интерактивность веб-сайта не уступает обычным приложениям.&lt;br /&gt;
&lt;br /&gt;
Язык поддерживается всеми браузерами (кроме [[Internet Explorer|осла]], но для этого есть babel и полифилы), способен выполняться на серверах (благодаря такой поделке, как Node.JS), да на нем даже пишут десктопные программы на такой Б-гомерзкой вещи, как Electron.&lt;br /&gt;
&lt;br /&gt;
== Описание ==&lt;br /&gt;
JavaScript был разработан в 1995 году и получил в названии префикс «Java» &amp;lt;del&amp;gt;за счет сотрудничества в разработке с Oracle&amp;lt;/del&amp;gt; по причине желания Netscape распространить свою поделку на большее число программистов, которые увидев название языка подумали бы: «[[Ложь, пиздёж и провокация|Да это же прям как Java!]]». Собственно, из-за чего некоторые периодически путают Java и JavaScript, которые являются совершенно разными языками, используемыми для разных задач. Сам язык де-факто разработан в Netscape дней за 15, поэтому никто особо не переживал из-за таких потрясающих архитектурных решений, вроде глобальных переменных или тем более, что данные в скриптах представлены как строки. Достаточно было и того, что на страницах выполнялись какие-то действия при нажатии мышкой на какие-нибудь кнопки.&lt;br /&gt;
&lt;br /&gt;
Настоящую популярность язык получил уже спустя 10 лет, когда началось внедрение технологии AJAX (обмена данными с сервером при помощи запросов скриптов, без обновления страницы), что предоставило совершенно новые возможности создания интерактивного контента — стало возможно подгружать новый контент без перезагрузки страницы, что очень сильно повысило удобство и понятность работы (в старых сайтах типа [[LiveJournal]] надо было руками пролистывать старые страницы).&lt;br /&gt;
&lt;br /&gt;
Ныне JavaScript имеется практически везде, на каждом сайте. Интересно, что в [[MediaWiki]] развитие джаваскрипта происходит очень медленно, все служебные действия производится на отдельных страница (типа удаления или отката) вместо того, чтобы делать их прямо на странице через JS. Большинство JS-инструментов написаны самими пользователями, а не разработчиками.&lt;br /&gt;
&lt;br /&gt;
Есть также и возможность написания собственных JS-скриптов для автоматического применения их к страницам определенного сайта; в частности, имеются подобные расширения для [[Firefox]] (Greasemonkey), которые позволяют запускать скрипты любой сложности, например для автоподстановки каких-либо данных в формы.&lt;br /&gt;
&lt;br /&gt;
Файлы JavaScript традиционно обладают расширением .js. В принципе JS-код можно встраивать непосредственно в текст страницы с использованием тега &amp;lt;nowiki&amp;gt;&amp;lt;script&amp;gt;&amp;lt;/nowiki&amp;gt;, но это считается не особенно правильным и в основном практикуется разделение на файлы.&lt;br /&gt;
&lt;br /&gt;
== Безопасность ==&lt;br /&gt;
Долгое время существовали сомнения насчет безопасности JavaScript, так как он позволяет определить различные параметры системы (вроде разрешения экрана), которые невозможно получить нормальным методом. В связи с этим становится возможна массовая слежка за пользователями посредством анализа их оборудования. Некоторые беспокоятся еще и насчет [[IP-адрес]]а, однако в большинстве случаев получить реальный IP с использованием скриптов как раз невозможно (впрочем, это возможно сделать на стороне приложения, к которому обращается JS-вебморда, так как все хранится в заголовках запроса). [[Паранойя|Различным криптошизам]], беспокоящимся насчёт того, что через активные скрипты могут собирать метрики технологические гиганты, вроде [[Google]] или [[Microsoft]], можно попробовать расширение [https://noscript.net/ NoScript], доступное как под [[Chrome]]-, так и [[Firefox]]- подобные браузеры. Разумеется, настраивать каждый сайт придётся ручками и не факт, что через скрипты самого сайта не ведется мониторинг, но скрипты вроде [[Google Analytics|Google-аналитики]] и прочие можно безболезненно отсечь.&lt;br /&gt;
&lt;br /&gt;
В старых версиях браузера [[Tor]] джаваскрипт был отключен в целях защиты персональных данных, но в более новых ограниченно включен, так как в противном случае ни один современный сайт просто не стал бы работать.&lt;br /&gt;
&lt;br /&gt;
Встречаются до сих пор старомодные юзеры, которые пользуются очень старыми ОС и не менее старыми браузерами. В таких браузерах многие сайты открываются некорректно, также из-за тупизма самой системы может повисать комп и всё отключаться.&lt;br /&gt;
&lt;br /&gt;
Для простого пользователя в принципе JavaScript безопасен. JS-скрипты выполняются в пределах окна браузера и не могут получить прямой доступ к системе. JS не может напрямую записывать и модифицировать файлы на ПК пользователя. Единственная угроза: JS может задолбать пользователя рекламными вплывающими баннерами и зависнуть страницу. Но есть один нюанс: если будут установлены левые вредоносные плагины для браузера, то хакер может получить доступ к такому плагину через JS, а уже этот плагин может натворить на ПК что угодно.&lt;br /&gt;
&lt;br /&gt;
А вот в устаревшем IE JavaScript позволял получить доступ к ПК непосредственно без всяких плагинов и примочек. Непонятно зачем для IE придумали метод ActiveXObject (). Через этот метод JS может запустить на ПК объект ActiveX и сделать что угодно. Например, вот так можно запустить блокнот прямо из окна браузера:&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
var x=new ActiveXObject(&amp;quot;WScript.Shell&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
x.run(&amp;quot;notepad.exe&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
таким макаром можно запускать не только безобидный блокнот, но и редактировать реестр, модифицировать документы MS Word и многое другое. В последних версиях догадались сделать запуск ActiveX только с подтверждением юзера.  &lt;br /&gt;
&lt;br /&gt;
== TypeScript ==&lt;br /&gt;
Несмотря на существование языка с 1995 года, многие программисты, изначально знакомые с строго типизированными языками, такими как [[Java]], [[C#]], [[C++]], [[люто, бешенно]] [[Butthurt|фрустрировали]] с того, что мало того, что в JS совершенно нет типов, так и еще приходится отлаживать любую функцию либо через &amp;#039;&amp;#039;&amp;#039;console.log()&amp;#039;&amp;#039;&amp;#039;, либо прописывая в нужных местах &amp;#039;&amp;#039;&amp;#039;debugger&amp;#039;&amp;#039;&amp;#039; и пытаться пердолить встроенный в браузер отладчик. А, поскольку язык интерпретируемый, а не компилируемый, то ошибки с разницей типов, неправильным вызовом функции и прочие возникали &amp;#039;&amp;#039;&amp;#039;ВО ВРЕМЯ ЗАПУСКА СКРИПТА&amp;#039;&amp;#039;&amp;#039;, что превращало написание более-менее сложных скриптов в определенного рода пытку.&lt;br /&gt;
&lt;br /&gt;
Более того, JS сам-по-себе был до определенного довольно ограниченным, вынуждая либо писать самому нужные программисту функции, раздувая и без того довольно запутанный код, либо применять, если можно так выразиться, диалекты JS, вроде CoffeeScript ради большей компактности и синтаксического сахара.&lt;br /&gt;
&lt;br /&gt;
Все это дело продолжалось до 2012—2015 годов, пока не был утвержден стандарт ES6 и когда появился и стал популяризироваться разработанный [[Microsoft|корпорацией зла]] Его Величество TypeScript. TS позволяет писать код, аннотируя функции и переменные внутренними типами, либо, если это обременительно, использовать везде &amp;#039;&amp;#039;&amp;#039;any&amp;#039;&amp;#039;&amp;#039;, чтобы разработка не отличалась от стандартного JS. Встроенные типы позволяют на этапе написания кода сразу отлавливать вышеописанные ошибки и сохранять собственные силы, нервы и время. Сам код, написанный на TypeScript компилируется в стандартный JS, поэтому проблем с запуском в браузере не имеет.&lt;br /&gt;
&lt;br /&gt;
Фактически, на данный момент, TypeScript является стандартом в отрасли Web-разработки: по умолчанию идет с фреймворком Angular, существует возможность писать приложения на React с использованием JS/TS/обоих одновременнно; многие пакеты для JS либо пишутся на TypeScript, либо, если написаны на JS, имеют декларацию типов, позволяя использовать библиотеки и в проектах с TypeScript.&lt;br /&gt;
&lt;br /&gt;
{{nav|Software|Интернет|Программирование}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Интернет]]&lt;/div&gt;</summary>
		<author><name>APRELKUN</name></author>
	</entry>
</feed>