Skip to content

Commit 875ff9e

Browse files
merittclaude
andcommitted
Modernize JS rules: strict mode, let/const, Object.hasOwn, class extends
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 23ca6a3 commit 875ff9e

2 files changed

Lines changed: 14 additions & 28 deletions

File tree

css/style.css

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -492,3 +492,9 @@ pre.language-correct .token.operator,
492492
pre.language-incorrect .token.operator {
493493
background: none;
494494
}
495+
496+
blockquote {
497+
background: #eeb;
498+
margin-left: -10px;
499+
padding: 10px 10px;
500+
}

javascript.html

Lines changed: 8 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,6 @@
1515
<link rel="stylesheet" href="css/prism.css">
1616
<link rel="stylesheet" href="css/style.css">
1717

18-
<style type="text/css">
19-
blockquote {
20-
background: #eeb;
21-
margin-left: -10px;
22-
padding: 10px 10px;
23-
}
24-
</style>
25-
2618
<!-- Google Tag Manager -->
2719
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-MN2NPQ9');</script>
2820
<!-- End Google Tag Manager -->
@@ -270,7 +262,7 @@ <h2 id="preventing-errors">Предотвращение ошибок</h2>
270262

271263
<p>В коде нет пустых блоков кода</p>
272264

273-
<p>Код работает в строгом режиме: в начале всех файлов явно прописана директива <code>"use strict"</code> или используются модули ECMAScript, которые по умолчанию работают в строгом режиме</p>
265+
<p>Код работает в строгом режиме. Модули ECMAScript (<code>type="module"</code>) работают в строгом режиме автоматически. В обычных скриптах в начале файла явно прописывается директива <code>"use strict"</code></p>
274266
</div>
275267
</article>
276268

@@ -347,7 +339,7 @@ <h3 id="errors-operators">Операторы</h3>
347339
<article class="chapter-part">
348340
<div class="chapter-part-col chapter-part-col--full-width">
349341
<h3 id="declaring-variables-and-functions">Объявление переменных и функций</h3>
350-
<p>При объявлении переменных предпочтение отдается ключевым словам <code>let</code> и <code>const</code>. Переменные объявляются через <code>var</code> только при наличии проблем с поддержкой ECMAScript 2015</p>
342+
<p>Переменные объявляются через <code>const</code> или <code>let</code>. Ключевое слово <code>var</code> не используется</p>
351343

352344
<p>Запрещено переопределять с помощью ключевого слова ранее созданные переменные</p>
353345

@@ -494,7 +486,7 @@ <h2 id="other">Прочее</h2>
494486

495487
<article class="chapter-part">
496488
<div class="chapter-part-col chapter-part-col--full-width">
497-
<p>При итерировании по объектам через <code>for..in</code> при работе со свойствами используется конструкция <code>hasOwnProperty</code></p>
489+
<p>При итерировании по объектам через <code>for..in</code> при работе со свойствами используется <code>Object.hasOwn()</code></p>
498490

499491
<p>В объектах напрямую не переопределяется свойство <code>__iterator__</code></p>
500492

@@ -503,9 +495,11 @@ <h2 id="other">Прочее</h2>
503495
__proto__: Parent
504496
};</code></pre>
505497

506-
<pre class="language-js language-correct"><code>const Obj = function() {};
507-
Obj.prototype = new Parent();
508-
const obj = new obj;
498+
<pre class="language-js language-correct"><code>class Obj extends Parent {
499+
constructor() {
500+
super();
501+
}
502+
}
509503

510504
const obj = Object.create(Parent.prototype);</code></pre>
511505

@@ -554,20 +548,6 @@ <h3 id="regular-expressions">Регулярные выражения</h3>
554548
<a class="logo-full" href="https://htmlacademy.ru">
555549
<img src="img/logo-html-academy.svg" width="161" height="47" alt="HTML Academy" title="HTML Academy">
556550
</a>
557-
<div class="social-icons">
558-
<a class="icon icon-vk" href="https://vk.com/htmlacademy" target="_blank" rel="noopener">
559-
Вконтакте
560-
</a>
561-
<a class="icon icon-fb" href="https://www.facebook.com/htmlacademy" target="_blank" rel="noopener">
562-
Facebook
563-
</a>
564-
<a class="icon icon-tw" href="https://twitter.com/htmlacademy_ru" target="_blank" rel="noopener">
565-
Twitter
566-
</a>
567-
<a class="icon icon-ig" href="https://instagram.com/htmlacademy" target="_blank" rel="noopener">
568-
Instagram
569-
</a>
570-
</div>
571551
<div class="github">
572552
<a class="github-link" href="https://github.com/htmlacademy" target="_blank" rel="noopener">
573553
GitHub

0 commit comments

Comments
 (0)