diff --git a/1-js/01-getting-started/2-editor/article.md b/1-js/01-getting-started/2-code-editors/article.md similarity index 100% rename from 1-js/01-getting-started/2-editor/article.md rename to 1-js/01-getting-started/2-code-editors/article.md diff --git a/1-js/02-first-steps/09-uibasic/1-simple-page/solution.md b/1-js/02-first-steps/09-alert-prompt-confirm/1-simple-page/solution.md similarity index 100% rename from 1-js/02-first-steps/09-uibasic/1-simple-page/solution.md rename to 1-js/02-first-steps/09-alert-prompt-confirm/1-simple-page/solution.md diff --git a/1-js/02-first-steps/09-uibasic/1-simple-page/task.md b/1-js/02-first-steps/09-alert-prompt-confirm/1-simple-page/task.md similarity index 100% rename from 1-js/02-first-steps/09-uibasic/1-simple-page/task.md rename to 1-js/02-first-steps/09-alert-prompt-confirm/1-simple-page/task.md diff --git a/1-js/02-first-steps/09-uibasic/article.md b/1-js/02-first-steps/09-alert-prompt-confirm/article.md similarity index 100% rename from 1-js/02-first-steps/09-uibasic/article.md rename to 1-js/02-first-steps/09-alert-prompt-confirm/article.md diff --git a/1-js/06-advanced-functions/03-closure/article.md b/1-js/06-advanced-functions/03-closure/article.md index 788849e9..7c65f69c 100644 --- a/1-js/06-advanced-functions/03-closure/article.md +++ b/1-js/06-advanced-functions/03-closure/article.md @@ -605,172 +605,3 @@ This feature of V8 is good to know. If you are debugging with Chrome/Opera, soon That is not a bug of debugger, but a special feature of V8. Maybe it will be changed sometimes. You always can check for it by running examples on this page. ``` - - -## The old "var" - -In the very first chapter about [variables](info:variables), we mentioned three ways of variable declaration: - -1. `let` -2. `const` -3. `var` - -`let` and `const` behave exactly the same way in terms of Lexical Environments. - -But `var` is a very different beast, that originates from very old times. It's generally not used in modern scripts, but still lurks in the old ones. If you don't plan meeting such scripts you may even skip this subsection or postpone reading it, but then there's a chance that it bites you some time. - -From the first sight, `var` behaves similar to `let`. That is, declares a variable: - -```js run -function sayHi() { - let phrase = "Hello"; // local variable, "var" instead of "let" - - alert(phrase); // Hello -} - -sayHi(); - -alert(phrase); // Error, phrase is not defined -``` - -...But here are the differences. - -`var` variables are either funciton-wide or global, they are visible through blocks. -: For instance: - - ```js - if (true) { - let test = true; // use "var" instead of "let" - } - - *!* - alert(test); // true, the variable lives after if - */!* - ``` - - If we used `let test` on the 2nd line, then it wouldn't be visible to `alert`. But `var` ignores code blocks, so we've got a global `test`. - - The same thing for loops: `var` can not be block or loop-local: - - ```js - for(let i = 0; i < 10; i++) { - // ... - } - - *!* - alert(i); // 10, "i" is visible after loop, it's a global variable - */!* - ``` - - If a code block in inside a function, then `var` becomes a function-level variable: - - ```js - function sayHi() { - if (true) { - let phrase = "Hello"; - } - - alert(phrase); // works - } - - sayHi(); - alert(phrase); // Error: phrase is not defined - ``` - - As we can see, `var` pierces through `if`, `for` or other code blocks. That's because long time ago in JavaScript blocks had no Lexical Environments. And `var` is a reminiscence of that. - -`var` declarations are processed when the function starts (or script starts for globals). -: In other words, `var` variables are defined from the beginning of the function. - - So this code: - - ```js - function sayHi() { - phrase = "Hello"; - - alert(phrase); - - *!* - let phrase; - */!* - } - ``` - - ...Is technically the same as this: - - ```js - function sayHi() { - *!* - let phrase; - */!* - phrase = "Hello"; - - alert(phrase); - } - ``` - - ...Or even as this (remember, code blocks are ignored): - - ```js - function sayHi() { - phrase = "Hello"; - - *!* - if (false) { - let phrase; - } - */!* - - alert(phrase); - } - ``` - - People also call such behavior "hoisting" (raising), because all `var` are "hoisted" (raised) to the top of the function. - - So in the example above, `if (false)` branch never executes, but that doesn't matter. The `var` inside it is processed in the beginning of the function. - - **The important thing is that declarations are hoisted, but assignments are not.** - - For instance: - - ```js run - function sayHi() { - alert(phrase); - - *!* - let phrase = "Hello"; - */!* - } - - sayHi(); - ``` - - The line `let phrase = "Hello"` has two actions in it: variable declaration `var` and assignment `=`. - - The declaration is processed at the start of function execution (hoisted), but the assignment is not. So the code works essentially like this: - - ```js run - function sayHi() { - *!* - let phrase; // variable is declared from the top... - */!* - - alert(phrase); // undefined - - *!* - phrase = "Hello"; // ...but assigned when the execution reaches this line. - */!* - } - - sayHi(); - ``` - -**In other words, all `var` variables exist, but are `undefined` at the beginning of a function.** - -They are assigned later as the execution reaches assignments. - -In the example above, `alert` runs without an error, because the variable `phrase` exists. But its value is not yet assigned, so it shows `undefined`. - -```warn header="Why we should not use `var`" -Special behaviors of described in this section make using `var` inconvenient most of time. First, we can't create block-local variables. And hoisting just creates more space for errors. So, once again, for new scripts `var` is used exceptionally rarely. -``` diff --git a/1-js/06-advanced-functions/04-var/article.md b/1-js/06-advanced-functions/04-var/article.md new file mode 100644 index 00000000..59a68636 --- /dev/null +++ b/1-js/06-advanced-functions/04-var/article.md @@ -0,0 +1,187 @@ + +# The old "var" + +In the very first chapter about [variables](info:variables), we mentioned three ways of variable declaration: + +1. `let` +2. `const` +3. `var` + +`let` and `const` behave exactly the same way in terms of Lexical Environments. + +But `var` is a very different beast, that originates from very old times. It's generally not used in modern scripts, but still lurks in the old ones. + +If you don't plan meeting such scripts you may even skip this chapter or postpone it, but then there's a chance that it bites you later. + +[cut] + +From the first sight, `var` behaves similar to `let`. That is, declares a variable: + +```js run +function sayHi() { + var phrase = "Hello"; // local variable, "var" instead of "let" + + alert(phrase); // Hello +} + +sayHi(); + +alert(phrase); // Error, phrase is not defined +``` + +...But here are the differences. + +## "var" has no block scope + +`var` variables are either function-wide or global, they are visible through blocks. + +For instance: + +```js +if (true) { + var test = true; // use "var" instead of "let" +} + +*!* +alert(test); // true, the variable lives after if +*/!* +``` + +If we used `let test` on the 2nd line, then it wouldn't be visible to `alert`. But `var` ignores code blocks, so we've got a global `test`. + +The same thing for loops: `var` can not be block or loop-local: + +```js +for(var i = 0; i < 10; i++) { + // ... +} + +*!* +alert(i); // 10, "i" is visible after loop, it's a global variable +*/!* +``` + +If a code block in inside a function, then `var` becomes a function-level variable: + +```js +function sayHi() { + if (true) { + var phrase = "Hello"; + } + + alert(phrase); // works +} + +sayHi(); +alert(phrase); // Error: phrase is not defined +``` + +As we can see, `var` pierces through `if`, `for` or other code blocks. That's because long time ago in JavaScript blocks had no Lexical Environments. And `var` is a reminiscence of that. + +## "var" are processed at the function start + +`var` declarations are processed when the function starts (or script starts for globals). + +In other words, `var` variables are defined from the beginning of the function, no matter where the definition is (assuming that the definition is not in the nested function). + +So this code: + +```js +function sayHi() { + phrase = "Hello"; + + alert(phrase); + +*!* + var phrase; +*/!* +} +``` + +...Is technically the same as this (moved `var phrase` above): + +```js +function sayHi() { +*!* + var phrase; +*/!* + + phrase = "Hello"; + + alert(phrase); +} +``` + +...Or even as this (remember, code blocks are ignored): + +```js +function sayHi() { + phrase = "Hello"; // (*) + + *!* + if (false) { + var phrase; + } + */!* + + alert(phrase); +} +``` + +People also call such behavior "hoisting" (raising), because all `var` are "hoisted" (raised) to the top of the function. + +So in the example above, `if (false)` branch never executes, but that doesn't matter. The `var` inside it is processed in the beginning of the function, so at the moment of `(*)` there variable exists. + +**Declarations are hoisted, but assignments are not.** + +That's better to demonstrate with an example, like this: + +```js run +function sayHi() { + alert(phrase); + +*!* + var phrase = "Hello"; +*/!* +} + +sayHi(); +``` + +The line `var phrase = "Hello"` has two actions in it: + +1. Variable declaration `var` +2. Variable assignment `=`. + +The declaration is processed at the start of function execution ("hoisted"), but the assignment always works at the place where it is. So the code works essentially like this: + +```js run +function sayHi() { +*!* + var phrase; // declaration works at the start... +*/!* + + alert(phrase); // undefined + +*!* + phrase = "Hello"; // ...assignment - when the execution reaches it. +*/!* +} + +sayHi(); +``` + +Because all `var` declarations are processed at the function start, we can reference them at any place. But variables are undefined until the assignments. + +In both examples above `alert` runs without an error, because the variable `phrase` exists. But its value is not yet assigned, so it shows `undefined`. + +## Summary + +There are two main differences of `var`: + +1. Variables have no block scope, they are visible minimum at the function level. +2. Variable declarations are processed at function start. + +There's one more minor difference related to the global object, we'll cover that in the next chapter. + +These differences are actually a bad thing most of time. First, we can't create block-local variables. And hoisting just creates more space for errors. So, for new scripts `var` is used exceptionally rarely. diff --git a/1-js/06-advanced-functions/04-global-object/article.md b/1-js/06-advanced-functions/05-global-object/article.md similarity index 98% rename from 1-js/06-advanced-functions/04-global-object/article.md rename to 1-js/06-advanced-functions/05-global-object/article.md index 09f293fd..9388960b 100644 --- a/1-js/06-advanced-functions/04-global-object/article.md +++ b/1-js/06-advanced-functions/05-global-object/article.md @@ -28,7 +28,7 @@ It does two things: ```js untrusted run no-strict refresh - let phrase = "Hello"; + var phrase = "Hello"; function sayHi() { alert(phrase); @@ -75,10 +75,10 @@ Usually, it's not a good idea to use it, but here are some examples you can meet 1. To access exactly the global variable if the function has the local one with the same name. ```js untrusted run no-strict refresh - let user = "Global"; + var user = "Global"; function sayHi() { - let user = "Local"; + var user = "Local"; *!* alert(window.user); // Global diff --git a/1-js/06-advanced-functions/05-function-object/2-counter-inc-dec/_js.view/solution.js b/1-js/06-advanced-functions/06-function-object/2-counter-inc-dec/_js.view/solution.js similarity index 100% rename from 1-js/06-advanced-functions/05-function-object/2-counter-inc-dec/_js.view/solution.js rename to 1-js/06-advanced-functions/06-function-object/2-counter-inc-dec/_js.view/solution.js diff --git a/1-js/06-advanced-functions/05-function-object/2-counter-inc-dec/_js.view/source.js b/1-js/06-advanced-functions/06-function-object/2-counter-inc-dec/_js.view/source.js similarity index 100% rename from 1-js/06-advanced-functions/05-function-object/2-counter-inc-dec/_js.view/source.js rename to 1-js/06-advanced-functions/06-function-object/2-counter-inc-dec/_js.view/source.js diff --git a/1-js/06-advanced-functions/05-function-object/2-counter-inc-dec/_js.view/test.js b/1-js/06-advanced-functions/06-function-object/2-counter-inc-dec/_js.view/test.js similarity index 100% rename from 1-js/06-advanced-functions/05-function-object/2-counter-inc-dec/_js.view/test.js rename to 1-js/06-advanced-functions/06-function-object/2-counter-inc-dec/_js.view/test.js diff --git a/1-js/06-advanced-functions/05-function-object/2-counter-inc-dec/solution.md b/1-js/06-advanced-functions/06-function-object/2-counter-inc-dec/solution.md similarity index 100% rename from 1-js/06-advanced-functions/05-function-object/2-counter-inc-dec/solution.md rename to 1-js/06-advanced-functions/06-function-object/2-counter-inc-dec/solution.md diff --git a/1-js/06-advanced-functions/05-function-object/2-counter-inc-dec/task.md b/1-js/06-advanced-functions/06-function-object/2-counter-inc-dec/task.md similarity index 100% rename from 1-js/06-advanced-functions/05-function-object/2-counter-inc-dec/task.md rename to 1-js/06-advanced-functions/06-function-object/2-counter-inc-dec/task.md diff --git a/1-js/06-advanced-functions/05-function-object/5-sum-many-brackets/solution.md b/1-js/06-advanced-functions/06-function-object/5-sum-many-brackets/solution.md similarity index 100% rename from 1-js/06-advanced-functions/05-function-object/5-sum-many-brackets/solution.md rename to 1-js/06-advanced-functions/06-function-object/5-sum-many-brackets/solution.md diff --git a/1-js/06-advanced-functions/05-function-object/5-sum-many-brackets/task.md b/1-js/06-advanced-functions/06-function-object/5-sum-many-brackets/task.md similarity index 100% rename from 1-js/06-advanced-functions/05-function-object/5-sum-many-brackets/task.md rename to 1-js/06-advanced-functions/06-function-object/5-sum-many-brackets/task.md diff --git a/1-js/06-advanced-functions/05-function-object/article.md b/1-js/06-advanced-functions/06-function-object/article.md similarity index 100% rename from 1-js/06-advanced-functions/05-function-object/article.md rename to 1-js/06-advanced-functions/06-function-object/article.md diff --git a/1-js/06-advanced-functions/06-new-function/article.md b/1-js/06-advanced-functions/07-new-function/article.md similarity index 100% rename from 1-js/06-advanced-functions/06-new-function/article.md rename to 1-js/06-advanced-functions/07-new-function/article.md diff --git a/1-js/06-advanced-functions/07-settimeout-setinterval/1-output-numbers-100ms/solution.md b/1-js/06-advanced-functions/08-settimeout-setinterval/1-output-numbers-100ms/solution.md similarity index 100% rename from 1-js/06-advanced-functions/07-settimeout-setinterval/1-output-numbers-100ms/solution.md rename to 1-js/06-advanced-functions/08-settimeout-setinterval/1-output-numbers-100ms/solution.md diff --git a/1-js/06-advanced-functions/07-settimeout-setinterval/1-output-numbers-100ms/task.md b/1-js/06-advanced-functions/08-settimeout-setinterval/1-output-numbers-100ms/task.md similarity index 100% rename from 1-js/06-advanced-functions/07-settimeout-setinterval/1-output-numbers-100ms/task.md rename to 1-js/06-advanced-functions/08-settimeout-setinterval/1-output-numbers-100ms/task.md diff --git a/1-js/06-advanced-functions/07-settimeout-setinterval/3-rewrite-settimeout/solution.md b/1-js/06-advanced-functions/08-settimeout-setinterval/3-rewrite-settimeout/solution.md similarity index 100% rename from 1-js/06-advanced-functions/07-settimeout-setinterval/3-rewrite-settimeout/solution.md rename to 1-js/06-advanced-functions/08-settimeout-setinterval/3-rewrite-settimeout/solution.md diff --git a/1-js/06-advanced-functions/07-settimeout-setinterval/3-rewrite-settimeout/task.md b/1-js/06-advanced-functions/08-settimeout-setinterval/3-rewrite-settimeout/task.md similarity index 100% rename from 1-js/06-advanced-functions/07-settimeout-setinterval/3-rewrite-settimeout/task.md rename to 1-js/06-advanced-functions/08-settimeout-setinterval/3-rewrite-settimeout/task.md diff --git a/1-js/06-advanced-functions/07-settimeout-setinterval/4-settimeout-result/solution.md b/1-js/06-advanced-functions/08-settimeout-setinterval/4-settimeout-result/solution.md similarity index 100% rename from 1-js/06-advanced-functions/07-settimeout-setinterval/4-settimeout-result/solution.md rename to 1-js/06-advanced-functions/08-settimeout-setinterval/4-settimeout-result/solution.md diff --git a/1-js/06-advanced-functions/07-settimeout-setinterval/4-settimeout-result/task.md b/1-js/06-advanced-functions/08-settimeout-setinterval/4-settimeout-result/task.md similarity index 100% rename from 1-js/06-advanced-functions/07-settimeout-setinterval/4-settimeout-result/task.md rename to 1-js/06-advanced-functions/08-settimeout-setinterval/4-settimeout-result/task.md diff --git a/1-js/06-advanced-functions/07-settimeout-setinterval/article.md b/1-js/06-advanced-functions/08-settimeout-setinterval/article.md similarity index 100% rename from 1-js/06-advanced-functions/07-settimeout-setinterval/article.md rename to 1-js/06-advanced-functions/08-settimeout-setinterval/article.md diff --git a/1-js/06-advanced-functions/07-settimeout-setinterval/setinterval-interval.png b/1-js/06-advanced-functions/08-settimeout-setinterval/setinterval-interval.png similarity index 100% rename from 1-js/06-advanced-functions/07-settimeout-setinterval/setinterval-interval.png rename to 1-js/06-advanced-functions/08-settimeout-setinterval/setinterval-interval.png diff --git a/1-js/06-advanced-functions/07-settimeout-setinterval/setinterval-interval@2x.png b/1-js/06-advanced-functions/08-settimeout-setinterval/setinterval-interval@2x.png similarity index 100% rename from 1-js/06-advanced-functions/07-settimeout-setinterval/setinterval-interval@2x.png rename to 1-js/06-advanced-functions/08-settimeout-setinterval/setinterval-interval@2x.png diff --git a/1-js/06-advanced-functions/07-settimeout-setinterval/settimeout-interval.png b/1-js/06-advanced-functions/08-settimeout-setinterval/settimeout-interval.png similarity index 100% rename from 1-js/06-advanced-functions/07-settimeout-setinterval/settimeout-interval.png rename to 1-js/06-advanced-functions/08-settimeout-setinterval/settimeout-interval.png diff --git a/1-js/06-advanced-functions/07-settimeout-setinterval/settimeout-interval@2x.png b/1-js/06-advanced-functions/08-settimeout-setinterval/settimeout-interval@2x.png similarity index 100% rename from 1-js/06-advanced-functions/07-settimeout-setinterval/settimeout-interval@2x.png rename to 1-js/06-advanced-functions/08-settimeout-setinterval/settimeout-interval@2x.png diff --git a/1-js/06-advanced-functions/08-call-apply-decorators/01-spy-decorator/_js.view/solution.js b/1-js/06-advanced-functions/09-call-apply-decorators/01-spy-decorator/_js.view/solution.js similarity index 100% rename from 1-js/06-advanced-functions/08-call-apply-decorators/01-spy-decorator/_js.view/solution.js rename to 1-js/06-advanced-functions/09-call-apply-decorators/01-spy-decorator/_js.view/solution.js diff --git a/1-js/06-advanced-functions/08-call-apply-decorators/01-spy-decorator/_js.view/source.js b/1-js/06-advanced-functions/09-call-apply-decorators/01-spy-decorator/_js.view/source.js similarity index 100% rename from 1-js/06-advanced-functions/08-call-apply-decorators/01-spy-decorator/_js.view/source.js rename to 1-js/06-advanced-functions/09-call-apply-decorators/01-spy-decorator/_js.view/source.js diff --git a/1-js/06-advanced-functions/08-call-apply-decorators/01-spy-decorator/_js.view/test.js b/1-js/06-advanced-functions/09-call-apply-decorators/01-spy-decorator/_js.view/test.js similarity index 100% rename from 1-js/06-advanced-functions/08-call-apply-decorators/01-spy-decorator/_js.view/test.js rename to 1-js/06-advanced-functions/09-call-apply-decorators/01-spy-decorator/_js.view/test.js diff --git a/1-js/06-advanced-functions/08-call-apply-decorators/01-spy-decorator/solution.md b/1-js/06-advanced-functions/09-call-apply-decorators/01-spy-decorator/solution.md similarity index 100% rename from 1-js/06-advanced-functions/08-call-apply-decorators/01-spy-decorator/solution.md rename to 1-js/06-advanced-functions/09-call-apply-decorators/01-spy-decorator/solution.md diff --git a/1-js/06-advanced-functions/08-call-apply-decorators/01-spy-decorator/task.md b/1-js/06-advanced-functions/09-call-apply-decorators/01-spy-decorator/task.md similarity index 100% rename from 1-js/06-advanced-functions/08-call-apply-decorators/01-spy-decorator/task.md rename to 1-js/06-advanced-functions/09-call-apply-decorators/01-spy-decorator/task.md diff --git a/1-js/06-advanced-functions/08-call-apply-decorators/02-delay/_js.view/solution.js b/1-js/06-advanced-functions/09-call-apply-decorators/02-delay/_js.view/solution.js similarity index 100% rename from 1-js/06-advanced-functions/08-call-apply-decorators/02-delay/_js.view/solution.js rename to 1-js/06-advanced-functions/09-call-apply-decorators/02-delay/_js.view/solution.js diff --git a/1-js/06-advanced-functions/08-call-apply-decorators/02-delay/_js.view/test.js b/1-js/06-advanced-functions/09-call-apply-decorators/02-delay/_js.view/test.js similarity index 100% rename from 1-js/06-advanced-functions/08-call-apply-decorators/02-delay/_js.view/test.js rename to 1-js/06-advanced-functions/09-call-apply-decorators/02-delay/_js.view/test.js diff --git a/1-js/06-advanced-functions/08-call-apply-decorators/02-delay/solution.md b/1-js/06-advanced-functions/09-call-apply-decorators/02-delay/solution.md similarity index 100% rename from 1-js/06-advanced-functions/08-call-apply-decorators/02-delay/solution.md rename to 1-js/06-advanced-functions/09-call-apply-decorators/02-delay/solution.md diff --git a/1-js/06-advanced-functions/08-call-apply-decorators/02-delay/task.md b/1-js/06-advanced-functions/09-call-apply-decorators/02-delay/task.md similarity index 100% rename from 1-js/06-advanced-functions/08-call-apply-decorators/02-delay/task.md rename to 1-js/06-advanced-functions/09-call-apply-decorators/02-delay/task.md diff --git a/1-js/06-advanced-functions/08-call-apply-decorators/03-debounce/_js.view/solution.js b/1-js/06-advanced-functions/09-call-apply-decorators/03-debounce/_js.view/solution.js similarity index 100% rename from 1-js/06-advanced-functions/08-call-apply-decorators/03-debounce/_js.view/solution.js rename to 1-js/06-advanced-functions/09-call-apply-decorators/03-debounce/_js.view/solution.js diff --git a/1-js/06-advanced-functions/08-call-apply-decorators/03-debounce/_js.view/test.js b/1-js/06-advanced-functions/09-call-apply-decorators/03-debounce/_js.view/test.js similarity index 100% rename from 1-js/06-advanced-functions/08-call-apply-decorators/03-debounce/_js.view/test.js rename to 1-js/06-advanced-functions/09-call-apply-decorators/03-debounce/_js.view/test.js diff --git a/1-js/06-advanced-functions/08-call-apply-decorators/03-debounce/solution.md b/1-js/06-advanced-functions/09-call-apply-decorators/03-debounce/solution.md similarity index 100% rename from 1-js/06-advanced-functions/08-call-apply-decorators/03-debounce/solution.md rename to 1-js/06-advanced-functions/09-call-apply-decorators/03-debounce/solution.md diff --git a/1-js/06-advanced-functions/08-call-apply-decorators/03-debounce/task.md b/1-js/06-advanced-functions/09-call-apply-decorators/03-debounce/task.md similarity index 100% rename from 1-js/06-advanced-functions/08-call-apply-decorators/03-debounce/task.md rename to 1-js/06-advanced-functions/09-call-apply-decorators/03-debounce/task.md diff --git a/1-js/06-advanced-functions/08-call-apply-decorators/04-throttle/_js.view/solution.js b/1-js/06-advanced-functions/09-call-apply-decorators/04-throttle/_js.view/solution.js similarity index 100% rename from 1-js/06-advanced-functions/08-call-apply-decorators/04-throttle/_js.view/solution.js rename to 1-js/06-advanced-functions/09-call-apply-decorators/04-throttle/_js.view/solution.js diff --git a/1-js/06-advanced-functions/08-call-apply-decorators/04-throttle/_js.view/test.js b/1-js/06-advanced-functions/09-call-apply-decorators/04-throttle/_js.view/test.js similarity index 100% rename from 1-js/06-advanced-functions/08-call-apply-decorators/04-throttle/_js.view/test.js rename to 1-js/06-advanced-functions/09-call-apply-decorators/04-throttle/_js.view/test.js diff --git a/1-js/06-advanced-functions/08-call-apply-decorators/04-throttle/solution.md b/1-js/06-advanced-functions/09-call-apply-decorators/04-throttle/solution.md similarity index 100% rename from 1-js/06-advanced-functions/08-call-apply-decorators/04-throttle/solution.md rename to 1-js/06-advanced-functions/09-call-apply-decorators/04-throttle/solution.md diff --git a/1-js/06-advanced-functions/08-call-apply-decorators/04-throttle/task.md b/1-js/06-advanced-functions/09-call-apply-decorators/04-throttle/task.md similarity index 100% rename from 1-js/06-advanced-functions/08-call-apply-decorators/04-throttle/task.md rename to 1-js/06-advanced-functions/09-call-apply-decorators/04-throttle/task.md diff --git a/1-js/06-advanced-functions/08-call-apply-decorators/article.md b/1-js/06-advanced-functions/09-call-apply-decorators/article.md similarity index 100% rename from 1-js/06-advanced-functions/08-call-apply-decorators/article.md rename to 1-js/06-advanced-functions/09-call-apply-decorators/article.md diff --git a/1-js/06-advanced-functions/08-call-apply-decorators/decorator-makecaching-wrapper.png b/1-js/06-advanced-functions/09-call-apply-decorators/decorator-makecaching-wrapper.png similarity index 100% rename from 1-js/06-advanced-functions/08-call-apply-decorators/decorator-makecaching-wrapper.png rename to 1-js/06-advanced-functions/09-call-apply-decorators/decorator-makecaching-wrapper.png diff --git a/1-js/06-advanced-functions/08-call-apply-decorators/decorator-makecaching-wrapper@2x.png b/1-js/06-advanced-functions/09-call-apply-decorators/decorator-makecaching-wrapper@2x.png similarity index 100% rename from 1-js/06-advanced-functions/08-call-apply-decorators/decorator-makecaching-wrapper@2x.png rename to 1-js/06-advanced-functions/09-call-apply-decorators/decorator-makecaching-wrapper@2x.png diff --git a/1-js/06-advanced-functions/09-bind/2-write-to-object-after-bind/solution.md b/1-js/06-advanced-functions/10-bind/2-write-to-object-after-bind/solution.md similarity index 100% rename from 1-js/06-advanced-functions/09-bind/2-write-to-object-after-bind/solution.md rename to 1-js/06-advanced-functions/10-bind/2-write-to-object-after-bind/solution.md diff --git a/1-js/06-advanced-functions/09-bind/2-write-to-object-after-bind/task.md b/1-js/06-advanced-functions/10-bind/2-write-to-object-after-bind/task.md similarity index 100% rename from 1-js/06-advanced-functions/09-bind/2-write-to-object-after-bind/task.md rename to 1-js/06-advanced-functions/10-bind/2-write-to-object-after-bind/task.md diff --git a/1-js/06-advanced-functions/09-bind/3-second-bind/solution.md b/1-js/06-advanced-functions/10-bind/3-second-bind/solution.md similarity index 100% rename from 1-js/06-advanced-functions/09-bind/3-second-bind/solution.md rename to 1-js/06-advanced-functions/10-bind/3-second-bind/solution.md diff --git a/1-js/06-advanced-functions/09-bind/3-second-bind/task.md b/1-js/06-advanced-functions/10-bind/3-second-bind/task.md similarity index 100% rename from 1-js/06-advanced-functions/09-bind/3-second-bind/task.md rename to 1-js/06-advanced-functions/10-bind/3-second-bind/task.md diff --git a/1-js/06-advanced-functions/09-bind/4-function-property-after-bind/solution.md b/1-js/06-advanced-functions/10-bind/4-function-property-after-bind/solution.md similarity index 100% rename from 1-js/06-advanced-functions/09-bind/4-function-property-after-bind/solution.md rename to 1-js/06-advanced-functions/10-bind/4-function-property-after-bind/solution.md diff --git a/1-js/06-advanced-functions/09-bind/4-function-property-after-bind/task.md b/1-js/06-advanced-functions/10-bind/4-function-property-after-bind/task.md similarity index 100% rename from 1-js/06-advanced-functions/09-bind/4-function-property-after-bind/task.md rename to 1-js/06-advanced-functions/10-bind/4-function-property-after-bind/task.md diff --git a/1-js/06-advanced-functions/09-bind/5-question-use-bind/solution.md b/1-js/06-advanced-functions/10-bind/5-question-use-bind/solution.md similarity index 100% rename from 1-js/06-advanced-functions/09-bind/5-question-use-bind/solution.md rename to 1-js/06-advanced-functions/10-bind/5-question-use-bind/solution.md diff --git a/1-js/06-advanced-functions/09-bind/5-question-use-bind/task.md b/1-js/06-advanced-functions/10-bind/5-question-use-bind/task.md similarity index 100% rename from 1-js/06-advanced-functions/09-bind/5-question-use-bind/task.md rename to 1-js/06-advanced-functions/10-bind/5-question-use-bind/task.md diff --git a/1-js/06-advanced-functions/09-bind/6-ask-currying/solution.md b/1-js/06-advanced-functions/10-bind/6-ask-currying/solution.md similarity index 100% rename from 1-js/06-advanced-functions/09-bind/6-ask-currying/solution.md rename to 1-js/06-advanced-functions/10-bind/6-ask-currying/solution.md diff --git a/1-js/06-advanced-functions/09-bind/6-ask-currying/task.md b/1-js/06-advanced-functions/10-bind/6-ask-currying/task.md similarity index 100% rename from 1-js/06-advanced-functions/09-bind/6-ask-currying/task.md rename to 1-js/06-advanced-functions/10-bind/6-ask-currying/task.md diff --git a/1-js/06-advanced-functions/09-bind/article.md b/1-js/06-advanced-functions/10-bind/article.md similarity index 100% rename from 1-js/06-advanced-functions/09-bind/article.md rename to 1-js/06-advanced-functions/10-bind/article.md diff --git a/1-js/06-advanced-functions/09-bind/head.html b/1-js/06-advanced-functions/10-bind/head.html similarity index 100% rename from 1-js/06-advanced-functions/09-bind/head.html rename to 1-js/06-advanced-functions/10-bind/head.html diff --git a/1-js/06-advanced-functions/10-arrow-functions/article.md b/1-js/06-advanced-functions/11-arrow-functions/article.md similarity index 100% rename from 1-js/06-advanced-functions/10-arrow-functions/article.md rename to 1-js/06-advanced-functions/11-arrow-functions/article.md diff --git a/1-js/07-object-inheritance/01-property-flags-descriptors/article.md b/1-js/07-object-oriented-programming/01-property-flags-descriptors/article.md similarity index 100% rename from 1-js/07-object-inheritance/01-property-flags-descriptors/article.md rename to 1-js/07-object-oriented-programming/01-property-flags-descriptors/article.md diff --git a/1-js/07-object-inheritance/02-property-accessors/article.md b/1-js/07-object-oriented-programming/02-property-accessors/article.md similarity index 100% rename from 1-js/07-object-inheritance/02-property-accessors/article.md rename to 1-js/07-object-oriented-programming/02-property-accessors/article.md diff --git a/1-js/07-object-inheritance/03-prototype-inheritance/1-property-after-delete/solution.md b/1-js/07-object-oriented-programming/03-prototype-inheritance/1-property-after-delete/solution.md similarity index 100% rename from 1-js/07-object-inheritance/03-prototype-inheritance/1-property-after-delete/solution.md rename to 1-js/07-object-oriented-programming/03-prototype-inheritance/1-property-after-delete/solution.md diff --git a/1-js/07-object-inheritance/03-prototype-inheritance/1-property-after-delete/task.md b/1-js/07-object-oriented-programming/03-prototype-inheritance/1-property-after-delete/task.md similarity index 100% rename from 1-js/07-object-inheritance/03-prototype-inheritance/1-property-after-delete/task.md rename to 1-js/07-object-oriented-programming/03-prototype-inheritance/1-property-after-delete/task.md diff --git a/1-js/07-object-inheritance/03-prototype-inheritance/2-search-algorithm/solution.md b/1-js/07-object-oriented-programming/03-prototype-inheritance/2-search-algorithm/solution.md similarity index 100% rename from 1-js/07-object-inheritance/03-prototype-inheritance/2-search-algorithm/solution.md rename to 1-js/07-object-oriented-programming/03-prototype-inheritance/2-search-algorithm/solution.md diff --git a/1-js/07-object-inheritance/03-prototype-inheritance/2-search-algorithm/task.md b/1-js/07-object-oriented-programming/03-prototype-inheritance/2-search-algorithm/task.md similarity index 100% rename from 1-js/07-object-inheritance/03-prototype-inheritance/2-search-algorithm/task.md rename to 1-js/07-object-oriented-programming/03-prototype-inheritance/2-search-algorithm/task.md diff --git a/1-js/07-object-inheritance/03-prototype-inheritance/3-proto-and-this/solution.md b/1-js/07-object-oriented-programming/03-prototype-inheritance/3-proto-and-this/solution.md similarity index 100% rename from 1-js/07-object-inheritance/03-prototype-inheritance/3-proto-and-this/solution.md rename to 1-js/07-object-oriented-programming/03-prototype-inheritance/3-proto-and-this/solution.md diff --git a/1-js/07-object-inheritance/03-prototype-inheritance/3-proto-and-this/task.md b/1-js/07-object-oriented-programming/03-prototype-inheritance/3-proto-and-this/task.md similarity index 100% rename from 1-js/07-object-inheritance/03-prototype-inheritance/3-proto-and-this/task.md rename to 1-js/07-object-oriented-programming/03-prototype-inheritance/3-proto-and-this/task.md diff --git a/1-js/07-object-inheritance/03-prototype-inheritance/4-hamster-proto/solution.md b/1-js/07-object-oriented-programming/03-prototype-inheritance/4-hamster-proto/solution.md similarity index 100% rename from 1-js/07-object-inheritance/03-prototype-inheritance/4-hamster-proto/solution.md rename to 1-js/07-object-oriented-programming/03-prototype-inheritance/4-hamster-proto/solution.md diff --git a/1-js/07-object-inheritance/03-prototype-inheritance/4-hamster-proto/task.md b/1-js/07-object-oriented-programming/03-prototype-inheritance/4-hamster-proto/task.md similarity index 100% rename from 1-js/07-object-inheritance/03-prototype-inheritance/4-hamster-proto/task.md rename to 1-js/07-object-oriented-programming/03-prototype-inheritance/4-hamster-proto/task.md diff --git a/1-js/07-object-inheritance/03-prototype-inheritance/article.md b/1-js/07-object-oriented-programming/03-prototype-inheritance/article.md similarity index 100% rename from 1-js/07-object-inheritance/03-prototype-inheritance/article.md rename to 1-js/07-object-oriented-programming/03-prototype-inheritance/article.md diff --git a/1-js/07-object-inheritance/03-prototype-inheritance/object-prototype-empty.png b/1-js/07-object-oriented-programming/03-prototype-inheritance/object-prototype-empty.png similarity index 100% rename from 1-js/07-object-inheritance/03-prototype-inheritance/object-prototype-empty.png rename to 1-js/07-object-oriented-programming/03-prototype-inheritance/object-prototype-empty.png diff --git a/1-js/07-object-inheritance/03-prototype-inheritance/object-prototype-empty@2x.png b/1-js/07-object-oriented-programming/03-prototype-inheritance/object-prototype-empty@2x.png similarity index 100% rename from 1-js/07-object-inheritance/03-prototype-inheritance/object-prototype-empty@2x.png rename to 1-js/07-object-oriented-programming/03-prototype-inheritance/object-prototype-empty@2x.png diff --git a/1-js/07-object-inheritance/03-prototype-inheritance/proto-animal-rabbit-chain.png b/1-js/07-object-oriented-programming/03-prototype-inheritance/proto-animal-rabbit-chain.png similarity index 100% rename from 1-js/07-object-inheritance/03-prototype-inheritance/proto-animal-rabbit-chain.png rename to 1-js/07-object-oriented-programming/03-prototype-inheritance/proto-animal-rabbit-chain.png diff --git a/1-js/07-object-inheritance/03-prototype-inheritance/proto-animal-rabbit-chain@2x.png b/1-js/07-object-oriented-programming/03-prototype-inheritance/proto-animal-rabbit-chain@2x.png similarity index 100% rename from 1-js/07-object-inheritance/03-prototype-inheritance/proto-animal-rabbit-chain@2x.png rename to 1-js/07-object-oriented-programming/03-prototype-inheritance/proto-animal-rabbit-chain@2x.png diff --git a/1-js/07-object-inheritance/03-prototype-inheritance/proto-animal-rabbit-walk-2.png b/1-js/07-object-oriented-programming/03-prototype-inheritance/proto-animal-rabbit-walk-2.png similarity index 100% rename from 1-js/07-object-inheritance/03-prototype-inheritance/proto-animal-rabbit-walk-2.png rename to 1-js/07-object-oriented-programming/03-prototype-inheritance/proto-animal-rabbit-walk-2.png diff --git a/1-js/07-object-inheritance/03-prototype-inheritance/proto-animal-rabbit-walk-2@2x.png b/1-js/07-object-oriented-programming/03-prototype-inheritance/proto-animal-rabbit-walk-2@2x.png similarity index 100% rename from 1-js/07-object-inheritance/03-prototype-inheritance/proto-animal-rabbit-walk-2@2x.png rename to 1-js/07-object-oriented-programming/03-prototype-inheritance/proto-animal-rabbit-walk-2@2x.png diff --git a/1-js/07-object-inheritance/03-prototype-inheritance/proto-animal-rabbit-walk-3.png b/1-js/07-object-oriented-programming/03-prototype-inheritance/proto-animal-rabbit-walk-3.png similarity index 100% rename from 1-js/07-object-inheritance/03-prototype-inheritance/proto-animal-rabbit-walk-3.png rename to 1-js/07-object-oriented-programming/03-prototype-inheritance/proto-animal-rabbit-walk-3.png diff --git a/1-js/07-object-inheritance/03-prototype-inheritance/proto-animal-rabbit-walk-3@2x.png b/1-js/07-object-oriented-programming/03-prototype-inheritance/proto-animal-rabbit-walk-3@2x.png similarity index 100% rename from 1-js/07-object-inheritance/03-prototype-inheritance/proto-animal-rabbit-walk-3@2x.png rename to 1-js/07-object-oriented-programming/03-prototype-inheritance/proto-animal-rabbit-walk-3@2x.png diff --git a/1-js/07-object-inheritance/03-prototype-inheritance/proto-animal-rabbit-walk.png b/1-js/07-object-oriented-programming/03-prototype-inheritance/proto-animal-rabbit-walk.png similarity index 100% rename from 1-js/07-object-inheritance/03-prototype-inheritance/proto-animal-rabbit-walk.png rename to 1-js/07-object-oriented-programming/03-prototype-inheritance/proto-animal-rabbit-walk.png diff --git a/1-js/07-object-inheritance/03-prototype-inheritance/proto-animal-rabbit-walk@2x.png b/1-js/07-object-oriented-programming/03-prototype-inheritance/proto-animal-rabbit-walk@2x.png similarity index 100% rename from 1-js/07-object-inheritance/03-prototype-inheritance/proto-animal-rabbit-walk@2x.png rename to 1-js/07-object-oriented-programming/03-prototype-inheritance/proto-animal-rabbit-walk@2x.png diff --git a/1-js/07-object-inheritance/03-prototype-inheritance/proto-animal-rabbit.png b/1-js/07-object-oriented-programming/03-prototype-inheritance/proto-animal-rabbit.png similarity index 100% rename from 1-js/07-object-inheritance/03-prototype-inheritance/proto-animal-rabbit.png rename to 1-js/07-object-oriented-programming/03-prototype-inheritance/proto-animal-rabbit.png diff --git a/1-js/07-object-inheritance/03-prototype-inheritance/proto-animal-rabbit@2x.png b/1-js/07-object-oriented-programming/03-prototype-inheritance/proto-animal-rabbit@2x.png similarity index 100% rename from 1-js/07-object-inheritance/03-prototype-inheritance/proto-animal-rabbit@2x.png rename to 1-js/07-object-oriented-programming/03-prototype-inheritance/proto-animal-rabbit@2x.png diff --git a/1-js/07-object-inheritance/03-prototype-inheritance/proto-user-admin.png b/1-js/07-object-oriented-programming/03-prototype-inheritance/proto-user-admin.png similarity index 100% rename from 1-js/07-object-inheritance/03-prototype-inheritance/proto-user-admin.png rename to 1-js/07-object-oriented-programming/03-prototype-inheritance/proto-user-admin.png diff --git a/1-js/07-object-inheritance/03-prototype-inheritance/proto-user-admin@2x.png b/1-js/07-object-oriented-programming/03-prototype-inheritance/proto-user-admin@2x.png similarity index 100% rename from 1-js/07-object-inheritance/03-prototype-inheritance/proto-user-admin@2x.png rename to 1-js/07-object-oriented-programming/03-prototype-inheritance/proto-user-admin@2x.png diff --git a/1-js/07-object-inheritance/04-function-prototype/1-changing-prototype/solution.md b/1-js/07-object-oriented-programming/04-function-prototype/1-changing-prototype/solution.md similarity index 100% rename from 1-js/07-object-inheritance/04-function-prototype/1-changing-prototype/solution.md rename to 1-js/07-object-oriented-programming/04-function-prototype/1-changing-prototype/solution.md diff --git a/1-js/07-object-inheritance/04-function-prototype/1-changing-prototype/task.md b/1-js/07-object-oriented-programming/04-function-prototype/1-changing-prototype/task.md similarity index 100% rename from 1-js/07-object-inheritance/04-function-prototype/1-changing-prototype/task.md rename to 1-js/07-object-oriented-programming/04-function-prototype/1-changing-prototype/task.md diff --git a/1-js/07-object-inheritance/04-function-prototype/4-new-object-same-constructor/solution.md b/1-js/07-object-oriented-programming/04-function-prototype/4-new-object-same-constructor/solution.md similarity index 100% rename from 1-js/07-object-inheritance/04-function-prototype/4-new-object-same-constructor/solution.md rename to 1-js/07-object-oriented-programming/04-function-prototype/4-new-object-same-constructor/solution.md diff --git a/1-js/07-object-inheritance/04-function-prototype/4-new-object-same-constructor/task.md b/1-js/07-object-oriented-programming/04-function-prototype/4-new-object-same-constructor/task.md similarity index 100% rename from 1-js/07-object-inheritance/04-function-prototype/4-new-object-same-constructor/task.md rename to 1-js/07-object-oriented-programming/04-function-prototype/4-new-object-same-constructor/task.md diff --git a/1-js/07-object-inheritance/04-function-prototype/article.md b/1-js/07-object-oriented-programming/04-function-prototype/article.md similarity index 100% rename from 1-js/07-object-inheritance/04-function-prototype/article.md rename to 1-js/07-object-oriented-programming/04-function-prototype/article.md diff --git a/1-js/07-object-inheritance/04-function-prototype/function-prototype-constructor.png b/1-js/07-object-oriented-programming/04-function-prototype/function-prototype-constructor.png similarity index 100% rename from 1-js/07-object-inheritance/04-function-prototype/function-prototype-constructor.png rename to 1-js/07-object-oriented-programming/04-function-prototype/function-prototype-constructor.png diff --git a/1-js/07-object-inheritance/04-function-prototype/function-prototype-constructor@2x.png b/1-js/07-object-oriented-programming/04-function-prototype/function-prototype-constructor@2x.png similarity index 100% rename from 1-js/07-object-inheritance/04-function-prototype/function-prototype-constructor@2x.png rename to 1-js/07-object-oriented-programming/04-function-prototype/function-prototype-constructor@2x.png diff --git a/1-js/07-object-inheritance/04-function-prototype/native-prototypes-array-tostring.png b/1-js/07-object-oriented-programming/04-function-prototype/native-prototypes-array-tostring.png similarity index 100% rename from 1-js/07-object-inheritance/04-function-prototype/native-prototypes-array-tostring.png rename to 1-js/07-object-oriented-programming/04-function-prototype/native-prototypes-array-tostring.png diff --git a/1-js/07-object-inheritance/04-function-prototype/native-prototypes-array-tostring@2x.png b/1-js/07-object-oriented-programming/04-function-prototype/native-prototypes-array-tostring@2x.png similarity index 100% rename from 1-js/07-object-inheritance/04-function-prototype/native-prototypes-array-tostring@2x.png rename to 1-js/07-object-oriented-programming/04-function-prototype/native-prototypes-array-tostring@2x.png diff --git a/1-js/07-object-inheritance/04-function-prototype/native-prototypes-classes.png b/1-js/07-object-oriented-programming/04-function-prototype/native-prototypes-classes.png similarity index 100% rename from 1-js/07-object-inheritance/04-function-prototype/native-prototypes-classes.png rename to 1-js/07-object-oriented-programming/04-function-prototype/native-prototypes-classes.png diff --git a/1-js/07-object-inheritance/04-function-prototype/native-prototypes-classes@2x.png b/1-js/07-object-oriented-programming/04-function-prototype/native-prototypes-classes@2x.png similarity index 100% rename from 1-js/07-object-inheritance/04-function-prototype/native-prototypes-classes@2x.png rename to 1-js/07-object-oriented-programming/04-function-prototype/native-prototypes-classes@2x.png diff --git a/1-js/07-object-inheritance/04-function-prototype/object-prototype-1.png b/1-js/07-object-oriented-programming/04-function-prototype/object-prototype-1.png similarity index 100% rename from 1-js/07-object-inheritance/04-function-prototype/object-prototype-1.png rename to 1-js/07-object-oriented-programming/04-function-prototype/object-prototype-1.png diff --git a/1-js/07-object-inheritance/04-function-prototype/object-prototype-1@2x.png b/1-js/07-object-oriented-programming/04-function-prototype/object-prototype-1@2x.png similarity index 100% rename from 1-js/07-object-inheritance/04-function-prototype/object-prototype-1@2x.png rename to 1-js/07-object-oriented-programming/04-function-prototype/object-prototype-1@2x.png diff --git a/1-js/07-object-inheritance/04-function-prototype/object-prototype.png b/1-js/07-object-oriented-programming/04-function-prototype/object-prototype.png similarity index 100% rename from 1-js/07-object-inheritance/04-function-prototype/object-prototype.png rename to 1-js/07-object-oriented-programming/04-function-prototype/object-prototype.png diff --git a/1-js/07-object-inheritance/04-function-prototype/object-prototype@2x.png b/1-js/07-object-oriented-programming/04-function-prototype/object-prototype@2x.png similarity index 100% rename from 1-js/07-object-inheritance/04-function-prototype/object-prototype@2x.png rename to 1-js/07-object-oriented-programming/04-function-prototype/object-prototype@2x.png diff --git a/1-js/07-object-inheritance/04-function-prototype/proto-constructor-animal-rabbit.png b/1-js/07-object-oriented-programming/04-function-prototype/proto-constructor-animal-rabbit.png similarity index 100% rename from 1-js/07-object-inheritance/04-function-prototype/proto-constructor-animal-rabbit.png rename to 1-js/07-object-oriented-programming/04-function-prototype/proto-constructor-animal-rabbit.png diff --git a/1-js/07-object-inheritance/04-function-prototype/proto-constructor-animal-rabbit@2x.png b/1-js/07-object-oriented-programming/04-function-prototype/proto-constructor-animal-rabbit@2x.png similarity index 100% rename from 1-js/07-object-inheritance/04-function-prototype/proto-constructor-animal-rabbit@2x.png rename to 1-js/07-object-oriented-programming/04-function-prototype/proto-constructor-animal-rabbit@2x.png diff --git a/1-js/07-object-inheritance/04-function-prototype/rabbit-animal-object.png b/1-js/07-object-oriented-programming/04-function-prototype/rabbit-animal-object.png similarity index 100% rename from 1-js/07-object-inheritance/04-function-prototype/rabbit-animal-object.png rename to 1-js/07-object-oriented-programming/04-function-prototype/rabbit-animal-object.png diff --git a/1-js/07-object-inheritance/04-function-prototype/rabbit-animal-object@2x.png b/1-js/07-object-oriented-programming/04-function-prototype/rabbit-animal-object@2x.png similarity index 100% rename from 1-js/07-object-inheritance/04-function-prototype/rabbit-animal-object@2x.png rename to 1-js/07-object-oriented-programming/04-function-prototype/rabbit-animal-object@2x.png diff --git a/1-js/07-object-inheritance/04-function-prototype/rabbit-prototype-constructor.png b/1-js/07-object-oriented-programming/04-function-prototype/rabbit-prototype-constructor.png similarity index 100% rename from 1-js/07-object-inheritance/04-function-prototype/rabbit-prototype-constructor.png rename to 1-js/07-object-oriented-programming/04-function-prototype/rabbit-prototype-constructor.png diff --git a/1-js/07-object-inheritance/04-function-prototype/rabbit-prototype-constructor@2x.png b/1-js/07-object-oriented-programming/04-function-prototype/rabbit-prototype-constructor@2x.png similarity index 100% rename from 1-js/07-object-inheritance/04-function-prototype/rabbit-prototype-constructor@2x.png rename to 1-js/07-object-oriented-programming/04-function-prototype/rabbit-prototype-constructor@2x.png diff --git a/1-js/07-object-inheritance/05-native-prototypes/1-defer-to-prototype/solution.md b/1-js/07-object-oriented-programming/05-native-prototypes/1-defer-to-prototype/solution.md similarity index 100% rename from 1-js/07-object-inheritance/05-native-prototypes/1-defer-to-prototype/solution.md rename to 1-js/07-object-oriented-programming/05-native-prototypes/1-defer-to-prototype/solution.md diff --git a/1-js/07-object-inheritance/05-native-prototypes/1-defer-to-prototype/task.md b/1-js/07-object-oriented-programming/05-native-prototypes/1-defer-to-prototype/task.md similarity index 100% rename from 1-js/07-object-inheritance/05-native-prototypes/1-defer-to-prototype/task.md rename to 1-js/07-object-oriented-programming/05-native-prototypes/1-defer-to-prototype/task.md diff --git a/1-js/07-object-inheritance/05-native-prototypes/2-defer-to-prototype-extended/solution.md b/1-js/07-object-oriented-programming/05-native-prototypes/2-defer-to-prototype-extended/solution.md similarity index 100% rename from 1-js/07-object-inheritance/05-native-prototypes/2-defer-to-prototype-extended/solution.md rename to 1-js/07-object-oriented-programming/05-native-prototypes/2-defer-to-prototype-extended/solution.md diff --git a/1-js/07-object-inheritance/05-native-prototypes/2-defer-to-prototype-extended/task.md b/1-js/07-object-oriented-programming/05-native-prototypes/2-defer-to-prototype-extended/task.md similarity index 100% rename from 1-js/07-object-inheritance/05-native-prototypes/2-defer-to-prototype-extended/task.md rename to 1-js/07-object-oriented-programming/05-native-prototypes/2-defer-to-prototype-extended/task.md diff --git a/1-js/07-object-inheritance/05-native-prototypes/article.md b/1-js/07-object-oriented-programming/05-native-prototypes/article.md similarity index 100% rename from 1-js/07-object-inheritance/05-native-prototypes/article.md rename to 1-js/07-object-oriented-programming/05-native-prototypes/article.md diff --git a/1-js/07-object-inheritance/05-native-prototypes/console_dir_array.png b/1-js/07-object-oriented-programming/05-native-prototypes/console_dir_array.png similarity index 100% rename from 1-js/07-object-inheritance/05-native-prototypes/console_dir_array.png rename to 1-js/07-object-oriented-programming/05-native-prototypes/console_dir_array.png diff --git a/1-js/07-object-inheritance/05-native-prototypes/function-prototype-constructor.png b/1-js/07-object-oriented-programming/05-native-prototypes/function-prototype-constructor.png similarity index 100% rename from 1-js/07-object-inheritance/05-native-prototypes/function-prototype-constructor.png rename to 1-js/07-object-oriented-programming/05-native-prototypes/function-prototype-constructor.png diff --git a/1-js/07-object-inheritance/05-native-prototypes/function-prototype-constructor@2x.png b/1-js/07-object-oriented-programming/05-native-prototypes/function-prototype-constructor@2x.png similarity index 100% rename from 1-js/07-object-inheritance/05-native-prototypes/function-prototype-constructor@2x.png rename to 1-js/07-object-oriented-programming/05-native-prototypes/function-prototype-constructor@2x.png diff --git a/1-js/07-object-inheritance/05-native-prototypes/native-prototypes-array-tostring.png b/1-js/07-object-oriented-programming/05-native-prototypes/native-prototypes-array-tostring.png similarity index 100% rename from 1-js/07-object-inheritance/05-native-prototypes/native-prototypes-array-tostring.png rename to 1-js/07-object-oriented-programming/05-native-prototypes/native-prototypes-array-tostring.png diff --git a/1-js/07-object-inheritance/05-native-prototypes/native-prototypes-array-tostring@2x.png b/1-js/07-object-oriented-programming/05-native-prototypes/native-prototypes-array-tostring@2x.png similarity index 100% rename from 1-js/07-object-inheritance/05-native-prototypes/native-prototypes-array-tostring@2x.png rename to 1-js/07-object-oriented-programming/05-native-prototypes/native-prototypes-array-tostring@2x.png diff --git a/1-js/07-object-inheritance/05-native-prototypes/native-prototypes-classes.png b/1-js/07-object-oriented-programming/05-native-prototypes/native-prototypes-classes.png similarity index 100% rename from 1-js/07-object-inheritance/05-native-prototypes/native-prototypes-classes.png rename to 1-js/07-object-oriented-programming/05-native-prototypes/native-prototypes-classes.png diff --git a/1-js/07-object-inheritance/05-native-prototypes/native-prototypes-classes@2x.png b/1-js/07-object-oriented-programming/05-native-prototypes/native-prototypes-classes@2x.png similarity index 100% rename from 1-js/07-object-inheritance/05-native-prototypes/native-prototypes-classes@2x.png rename to 1-js/07-object-oriented-programming/05-native-prototypes/native-prototypes-classes@2x.png diff --git a/1-js/07-object-inheritance/05-native-prototypes/object-prototype-1.png b/1-js/07-object-oriented-programming/05-native-prototypes/object-prototype-1.png similarity index 100% rename from 1-js/07-object-inheritance/05-native-prototypes/object-prototype-1.png rename to 1-js/07-object-oriented-programming/05-native-prototypes/object-prototype-1.png diff --git a/1-js/07-object-inheritance/05-native-prototypes/object-prototype-1@2x.png b/1-js/07-object-oriented-programming/05-native-prototypes/object-prototype-1@2x.png similarity index 100% rename from 1-js/07-object-inheritance/05-native-prototypes/object-prototype-1@2x.png rename to 1-js/07-object-oriented-programming/05-native-prototypes/object-prototype-1@2x.png diff --git a/1-js/07-object-inheritance/05-native-prototypes/object-prototype-null.png b/1-js/07-object-oriented-programming/05-native-prototypes/object-prototype-null.png similarity index 100% rename from 1-js/07-object-inheritance/05-native-prototypes/object-prototype-null.png rename to 1-js/07-object-oriented-programming/05-native-prototypes/object-prototype-null.png diff --git a/1-js/07-object-inheritance/05-native-prototypes/object-prototype-null@2x.png b/1-js/07-object-oriented-programming/05-native-prototypes/object-prototype-null@2x.png similarity index 100% rename from 1-js/07-object-inheritance/05-native-prototypes/object-prototype-null@2x.png rename to 1-js/07-object-oriented-programming/05-native-prototypes/object-prototype-null@2x.png diff --git a/1-js/07-object-inheritance/05-native-prototypes/object-prototype.png b/1-js/07-object-oriented-programming/05-native-prototypes/object-prototype.png similarity index 100% rename from 1-js/07-object-inheritance/05-native-prototypes/object-prototype.png rename to 1-js/07-object-oriented-programming/05-native-prototypes/object-prototype.png diff --git a/1-js/07-object-inheritance/05-native-prototypes/object-prototype@2x.png b/1-js/07-object-oriented-programming/05-native-prototypes/object-prototype@2x.png similarity index 100% rename from 1-js/07-object-inheritance/05-native-prototypes/object-prototype@2x.png rename to 1-js/07-object-oriented-programming/05-native-prototypes/object-prototype@2x.png diff --git a/1-js/07-object-inheritance/05-native-prototypes/proto-constructor-animal-rabbit.png b/1-js/07-object-oriented-programming/05-native-prototypes/proto-constructor-animal-rabbit.png similarity index 100% rename from 1-js/07-object-inheritance/05-native-prototypes/proto-constructor-animal-rabbit.png rename to 1-js/07-object-oriented-programming/05-native-prototypes/proto-constructor-animal-rabbit.png diff --git a/1-js/07-object-inheritance/05-native-prototypes/proto-constructor-animal-rabbit@2x.png b/1-js/07-object-oriented-programming/05-native-prototypes/proto-constructor-animal-rabbit@2x.png similarity index 100% rename from 1-js/07-object-inheritance/05-native-prototypes/proto-constructor-animal-rabbit@2x.png rename to 1-js/07-object-oriented-programming/05-native-prototypes/proto-constructor-animal-rabbit@2x.png diff --git a/1-js/07-object-inheritance/05-native-prototypes/rabbit-prototype-constructor.png b/1-js/07-object-oriented-programming/05-native-prototypes/rabbit-prototype-constructor.png similarity index 100% rename from 1-js/07-object-inheritance/05-native-prototypes/rabbit-prototype-constructor.png rename to 1-js/07-object-oriented-programming/05-native-prototypes/rabbit-prototype-constructor.png diff --git a/1-js/07-object-inheritance/05-native-prototypes/rabbit-prototype-constructor@2x.png b/1-js/07-object-oriented-programming/05-native-prototypes/rabbit-prototype-constructor@2x.png similarity index 100% rename from 1-js/07-object-inheritance/05-native-prototypes/rabbit-prototype-constructor@2x.png rename to 1-js/07-object-oriented-programming/05-native-prototypes/rabbit-prototype-constructor@2x.png diff --git a/1-js/07-object-inheritance/06-prototype-methods/2-dictionary-tostring/solution.md b/1-js/07-object-oriented-programming/06-prototype-methods/2-dictionary-tostring/solution.md similarity index 100% rename from 1-js/07-object-inheritance/06-prototype-methods/2-dictionary-tostring/solution.md rename to 1-js/07-object-oriented-programming/06-prototype-methods/2-dictionary-tostring/solution.md diff --git a/1-js/07-object-inheritance/06-prototype-methods/2-dictionary-tostring/task.md b/1-js/07-object-oriented-programming/06-prototype-methods/2-dictionary-tostring/task.md similarity index 100% rename from 1-js/07-object-inheritance/06-prototype-methods/2-dictionary-tostring/task.md rename to 1-js/07-object-oriented-programming/06-prototype-methods/2-dictionary-tostring/task.md diff --git a/1-js/07-object-inheritance/06-prototype-methods/3-compare-calls/solution.md b/1-js/07-object-oriented-programming/06-prototype-methods/3-compare-calls/solution.md similarity index 100% rename from 1-js/07-object-inheritance/06-prototype-methods/3-compare-calls/solution.md rename to 1-js/07-object-oriented-programming/06-prototype-methods/3-compare-calls/solution.md diff --git a/1-js/07-object-inheritance/06-prototype-methods/3-compare-calls/task.md b/1-js/07-object-oriented-programming/06-prototype-methods/3-compare-calls/task.md similarity index 100% rename from 1-js/07-object-inheritance/06-prototype-methods/3-compare-calls/task.md rename to 1-js/07-object-oriented-programming/06-prototype-methods/3-compare-calls/task.md diff --git a/1-js/07-object-inheritance/06-prototype-methods/article.md b/1-js/07-object-oriented-programming/06-prototype-methods/article.md similarity index 100% rename from 1-js/07-object-inheritance/06-prototype-methods/article.md rename to 1-js/07-object-oriented-programming/06-prototype-methods/article.md diff --git a/1-js/07-object-inheritance/06-prototype-methods/object-prototype-2.png b/1-js/07-object-oriented-programming/06-prototype-methods/object-prototype-2.png similarity index 100% rename from 1-js/07-object-inheritance/06-prototype-methods/object-prototype-2.png rename to 1-js/07-object-oriented-programming/06-prototype-methods/object-prototype-2.png diff --git a/1-js/07-object-inheritance/06-prototype-methods/object-prototype-2@2x.png b/1-js/07-object-oriented-programming/06-prototype-methods/object-prototype-2@2x.png similarity index 100% rename from 1-js/07-object-inheritance/06-prototype-methods/object-prototype-2@2x.png rename to 1-js/07-object-oriented-programming/06-prototype-methods/object-prototype-2@2x.png diff --git a/1-js/07-object-inheritance/06-prototype-methods/object-prototype-null.png b/1-js/07-object-oriented-programming/06-prototype-methods/object-prototype-null.png similarity index 100% rename from 1-js/07-object-inheritance/06-prototype-methods/object-prototype-null.png rename to 1-js/07-object-oriented-programming/06-prototype-methods/object-prototype-null.png diff --git a/1-js/07-object-inheritance/06-prototype-methods/object-prototype-null@2x.png b/1-js/07-object-oriented-programming/06-prototype-methods/object-prototype-null@2x.png similarity index 100% rename from 1-js/07-object-inheritance/06-prototype-methods/object-prototype-null@2x.png rename to 1-js/07-object-oriented-programming/06-prototype-methods/object-prototype-null@2x.png diff --git a/1-js/07-object-inheritance/06-prototype-methods/rabbit-animal-object.png b/1-js/07-object-oriented-programming/06-prototype-methods/rabbit-animal-object.png similarity index 100% rename from 1-js/07-object-inheritance/06-prototype-methods/rabbit-animal-object.png rename to 1-js/07-object-oriented-programming/06-prototype-methods/rabbit-animal-object.png diff --git a/1-js/07-object-inheritance/06-prototype-methods/rabbit-animal-object@2x.png b/1-js/07-object-oriented-programming/06-prototype-methods/rabbit-animal-object@2x.png similarity index 100% rename from 1-js/07-object-inheritance/06-prototype-methods/rabbit-animal-object@2x.png rename to 1-js/07-object-oriented-programming/06-prototype-methods/rabbit-animal-object@2x.png diff --git a/1-js/07-object-inheritance/08-class-patterns/1-inheritance-error-assign/solution.md b/1-js/07-object-oriented-programming/08-class-patterns/1-inheritance-error-assign/solution.md similarity index 100% rename from 1-js/07-object-inheritance/08-class-patterns/1-inheritance-error-assign/solution.md rename to 1-js/07-object-oriented-programming/08-class-patterns/1-inheritance-error-assign/solution.md diff --git a/1-js/07-object-inheritance/08-class-patterns/1-inheritance-error-assign/task.md b/1-js/07-object-oriented-programming/08-class-patterns/1-inheritance-error-assign/task.md similarity index 100% rename from 1-js/07-object-inheritance/08-class-patterns/1-inheritance-error-assign/task.md rename to 1-js/07-object-oriented-programming/08-class-patterns/1-inheritance-error-assign/task.md diff --git a/1-js/07-object-inheritance/08-class-patterns/2-rewrite-to-prototypes/solution.md b/1-js/07-object-oriented-programming/08-class-patterns/2-rewrite-to-prototypes/solution.md similarity index 100% rename from 1-js/07-object-inheritance/08-class-patterns/2-rewrite-to-prototypes/solution.md rename to 1-js/07-object-oriented-programming/08-class-patterns/2-rewrite-to-prototypes/solution.md diff --git a/1-js/07-object-inheritance/08-class-patterns/2-rewrite-to-prototypes/solution.view/clock.js b/1-js/07-object-oriented-programming/08-class-patterns/2-rewrite-to-prototypes/solution.view/clock.js similarity index 100% rename from 1-js/07-object-inheritance/08-class-patterns/2-rewrite-to-prototypes/solution.view/clock.js rename to 1-js/07-object-oriented-programming/08-class-patterns/2-rewrite-to-prototypes/solution.view/clock.js diff --git a/1-js/07-object-inheritance/08-class-patterns/2-rewrite-to-prototypes/solution.view/index.html b/1-js/07-object-oriented-programming/08-class-patterns/2-rewrite-to-prototypes/solution.view/index.html similarity index 100% rename from 1-js/07-object-inheritance/08-class-patterns/2-rewrite-to-prototypes/solution.view/index.html rename to 1-js/07-object-oriented-programming/08-class-patterns/2-rewrite-to-prototypes/solution.view/index.html diff --git a/1-js/07-object-inheritance/08-class-patterns/2-rewrite-to-prototypes/source.view/clock.js b/1-js/07-object-oriented-programming/08-class-patterns/2-rewrite-to-prototypes/source.view/clock.js similarity index 100% rename from 1-js/07-object-inheritance/08-class-patterns/2-rewrite-to-prototypes/source.view/clock.js rename to 1-js/07-object-oriented-programming/08-class-patterns/2-rewrite-to-prototypes/source.view/clock.js diff --git a/1-js/07-object-inheritance/08-class-patterns/2-rewrite-to-prototypes/source.view/index.html b/1-js/07-object-oriented-programming/08-class-patterns/2-rewrite-to-prototypes/source.view/index.html similarity index 100% rename from 1-js/07-object-inheritance/08-class-patterns/2-rewrite-to-prototypes/source.view/index.html rename to 1-js/07-object-oriented-programming/08-class-patterns/2-rewrite-to-prototypes/source.view/index.html diff --git a/1-js/07-object-inheritance/08-class-patterns/2-rewrite-to-prototypes/task.md b/1-js/07-object-oriented-programming/08-class-patterns/2-rewrite-to-prototypes/task.md similarity index 100% rename from 1-js/07-object-inheritance/08-class-patterns/2-rewrite-to-prototypes/task.md rename to 1-js/07-object-oriented-programming/08-class-patterns/2-rewrite-to-prototypes/task.md diff --git a/1-js/07-object-inheritance/08-class-patterns/article.md b/1-js/07-object-oriented-programming/08-class-patterns/article.md similarity index 100% rename from 1-js/07-object-inheritance/08-class-patterns/article.md rename to 1-js/07-object-oriented-programming/08-class-patterns/article.md diff --git a/1-js/07-object-inheritance/08-class-patterns/class-inheritance-rabbit-animal-2.png b/1-js/07-object-oriented-programming/08-class-patterns/class-inheritance-rabbit-animal-2.png similarity index 100% rename from 1-js/07-object-inheritance/08-class-patterns/class-inheritance-rabbit-animal-2.png rename to 1-js/07-object-oriented-programming/08-class-patterns/class-inheritance-rabbit-animal-2.png diff --git a/1-js/07-object-inheritance/08-class-patterns/class-inheritance-rabbit-animal-2@2x.png b/1-js/07-object-oriented-programming/08-class-patterns/class-inheritance-rabbit-animal-2@2x.png similarity index 100% rename from 1-js/07-object-inheritance/08-class-patterns/class-inheritance-rabbit-animal-2@2x.png rename to 1-js/07-object-oriented-programming/08-class-patterns/class-inheritance-rabbit-animal-2@2x.png diff --git a/1-js/07-object-inheritance/08-class-patterns/class-inheritance-rabbit-animal.png b/1-js/07-object-oriented-programming/08-class-patterns/class-inheritance-rabbit-animal.png similarity index 100% rename from 1-js/07-object-inheritance/08-class-patterns/class-inheritance-rabbit-animal.png rename to 1-js/07-object-oriented-programming/08-class-patterns/class-inheritance-rabbit-animal.png diff --git a/1-js/07-object-inheritance/08-class-patterns/class-inheritance-rabbit-animal@2x.png b/1-js/07-object-oriented-programming/08-class-patterns/class-inheritance-rabbit-animal@2x.png similarity index 100% rename from 1-js/07-object-inheritance/08-class-patterns/class-inheritance-rabbit-animal@2x.png rename to 1-js/07-object-oriented-programming/08-class-patterns/class-inheritance-rabbit-animal@2x.png diff --git a/1-js/07-object-inheritance/08-class-patterns/rabbit-animal-independent-1.png b/1-js/07-object-oriented-programming/08-class-patterns/rabbit-animal-independent-1.png similarity index 100% rename from 1-js/07-object-inheritance/08-class-patterns/rabbit-animal-independent-1.png rename to 1-js/07-object-oriented-programming/08-class-patterns/rabbit-animal-independent-1.png diff --git a/1-js/07-object-inheritance/08-class-patterns/rabbit-animal-independent-1@2x.png b/1-js/07-object-oriented-programming/08-class-patterns/rabbit-animal-independent-1@2x.png similarity index 100% rename from 1-js/07-object-inheritance/08-class-patterns/rabbit-animal-independent-1@2x.png rename to 1-js/07-object-oriented-programming/08-class-patterns/rabbit-animal-independent-1@2x.png diff --git a/1-js/07-object-inheritance/08-class-patterns/rabbit-animal-independent-2.png b/1-js/07-object-oriented-programming/08-class-patterns/rabbit-animal-independent-2.png similarity index 100% rename from 1-js/07-object-inheritance/08-class-patterns/rabbit-animal-independent-2.png rename to 1-js/07-object-oriented-programming/08-class-patterns/rabbit-animal-independent-2.png diff --git a/1-js/07-object-inheritance/08-class-patterns/rabbit-animal-independent-2@2x.png b/1-js/07-object-oriented-programming/08-class-patterns/rabbit-animal-independent-2@2x.png similarity index 100% rename from 1-js/07-object-inheritance/08-class-patterns/rabbit-animal-independent-2@2x.png rename to 1-js/07-object-oriented-programming/08-class-patterns/rabbit-animal-independent-2@2x.png diff --git a/1-js/07-object-inheritance/09-class/1-rewrite-to-class/solution.md b/1-js/07-object-oriented-programming/09-class/1-rewrite-to-class/solution.md similarity index 100% rename from 1-js/07-object-inheritance/09-class/1-rewrite-to-class/solution.md rename to 1-js/07-object-oriented-programming/09-class/1-rewrite-to-class/solution.md diff --git a/1-js/07-object-inheritance/09-class/1-rewrite-to-class/solution.view/clock.js b/1-js/07-object-oriented-programming/09-class/1-rewrite-to-class/solution.view/clock.js similarity index 100% rename from 1-js/07-object-inheritance/09-class/1-rewrite-to-class/solution.view/clock.js rename to 1-js/07-object-oriented-programming/09-class/1-rewrite-to-class/solution.view/clock.js diff --git a/1-js/07-object-inheritance/09-class/1-rewrite-to-class/solution.view/index.html b/1-js/07-object-oriented-programming/09-class/1-rewrite-to-class/solution.view/index.html similarity index 100% rename from 1-js/07-object-inheritance/09-class/1-rewrite-to-class/solution.view/index.html rename to 1-js/07-object-oriented-programming/09-class/1-rewrite-to-class/solution.view/index.html diff --git a/1-js/07-object-inheritance/09-class/1-rewrite-to-class/source.view/clock.js b/1-js/07-object-oriented-programming/09-class/1-rewrite-to-class/source.view/clock.js similarity index 100% rename from 1-js/07-object-inheritance/09-class/1-rewrite-to-class/source.view/clock.js rename to 1-js/07-object-oriented-programming/09-class/1-rewrite-to-class/source.view/clock.js diff --git a/1-js/07-object-inheritance/09-class/1-rewrite-to-class/source.view/index.html b/1-js/07-object-oriented-programming/09-class/1-rewrite-to-class/source.view/index.html similarity index 100% rename from 1-js/07-object-inheritance/09-class/1-rewrite-to-class/source.view/index.html rename to 1-js/07-object-oriented-programming/09-class/1-rewrite-to-class/source.view/index.html diff --git a/1-js/07-object-inheritance/09-class/1-rewrite-to-class/task.md b/1-js/07-object-oriented-programming/09-class/1-rewrite-to-class/task.md similarity index 100% rename from 1-js/07-object-inheritance/09-class/1-rewrite-to-class/task.md rename to 1-js/07-object-oriented-programming/09-class/1-rewrite-to-class/task.md diff --git a/1-js/07-object-inheritance/09-class/animal-rabbit-extends.png b/1-js/07-object-oriented-programming/09-class/animal-rabbit-extends.png similarity index 100% rename from 1-js/07-object-inheritance/09-class/animal-rabbit-extends.png rename to 1-js/07-object-oriented-programming/09-class/animal-rabbit-extends.png diff --git a/1-js/07-object-inheritance/09-class/animal-rabbit-extends@2x.png b/1-js/07-object-oriented-programming/09-class/animal-rabbit-extends@2x.png similarity index 100% rename from 1-js/07-object-inheritance/09-class/animal-rabbit-extends@2x.png rename to 1-js/07-object-oriented-programming/09-class/animal-rabbit-extends@2x.png diff --git a/1-js/07-object-inheritance/09-class/article.md b/1-js/07-object-oriented-programming/09-class/article.md similarity index 100% rename from 1-js/07-object-inheritance/09-class/article.md rename to 1-js/07-object-oriented-programming/09-class/article.md diff --git a/1-js/07-object-inheritance/09-class/class-user.png b/1-js/07-object-oriented-programming/09-class/class-user.png similarity index 100% rename from 1-js/07-object-inheritance/09-class/class-user.png rename to 1-js/07-object-oriented-programming/09-class/class-user.png diff --git a/1-js/07-object-inheritance/09-class/class-user@2x.png b/1-js/07-object-oriented-programming/09-class/class-user@2x.png similarity index 100% rename from 1-js/07-object-inheritance/09-class/class-user@2x.png rename to 1-js/07-object-oriented-programming/09-class/class-user@2x.png diff --git a/1-js/07-object-inheritance/10-class-inheritance/1-class-constructor-error/solution.md b/1-js/07-object-oriented-programming/10-class-inheritance/1-class-constructor-error/solution.md similarity index 100% rename from 1-js/07-object-inheritance/10-class-inheritance/1-class-constructor-error/solution.md rename to 1-js/07-object-oriented-programming/10-class-inheritance/1-class-constructor-error/solution.md diff --git a/1-js/07-object-inheritance/10-class-inheritance/1-class-constructor-error/task.md b/1-js/07-object-oriented-programming/10-class-inheritance/1-class-constructor-error/task.md similarity index 100% rename from 1-js/07-object-inheritance/10-class-inheritance/1-class-constructor-error/task.md rename to 1-js/07-object-oriented-programming/10-class-inheritance/1-class-constructor-error/task.md diff --git a/1-js/07-object-inheritance/10-class-inheritance/2-clock-class-extended/solution.md b/1-js/07-object-oriented-programming/10-class-inheritance/2-clock-class-extended/solution.md similarity index 100% rename from 1-js/07-object-inheritance/10-class-inheritance/2-clock-class-extended/solution.md rename to 1-js/07-object-oriented-programming/10-class-inheritance/2-clock-class-extended/solution.md diff --git a/1-js/07-object-inheritance/10-class-inheritance/2-clock-class-extended/solution.view/clock.js b/1-js/07-object-oriented-programming/10-class-inheritance/2-clock-class-extended/solution.view/clock.js similarity index 100% rename from 1-js/07-object-inheritance/10-class-inheritance/2-clock-class-extended/solution.view/clock.js rename to 1-js/07-object-oriented-programming/10-class-inheritance/2-clock-class-extended/solution.view/clock.js diff --git a/1-js/07-object-inheritance/10-class-inheritance/2-clock-class-extended/solution.view/extended-clock.js b/1-js/07-object-oriented-programming/10-class-inheritance/2-clock-class-extended/solution.view/extended-clock.js similarity index 100% rename from 1-js/07-object-inheritance/10-class-inheritance/2-clock-class-extended/solution.view/extended-clock.js rename to 1-js/07-object-oriented-programming/10-class-inheritance/2-clock-class-extended/solution.view/extended-clock.js diff --git a/1-js/07-object-inheritance/10-class-inheritance/2-clock-class-extended/solution.view/index.html b/1-js/07-object-oriented-programming/10-class-inheritance/2-clock-class-extended/solution.view/index.html similarity index 100% rename from 1-js/07-object-inheritance/10-class-inheritance/2-clock-class-extended/solution.view/index.html rename to 1-js/07-object-oriented-programming/10-class-inheritance/2-clock-class-extended/solution.view/index.html diff --git a/1-js/07-object-inheritance/10-class-inheritance/2-clock-class-extended/source.view/clock.js b/1-js/07-object-oriented-programming/10-class-inheritance/2-clock-class-extended/source.view/clock.js similarity index 100% rename from 1-js/07-object-inheritance/10-class-inheritance/2-clock-class-extended/source.view/clock.js rename to 1-js/07-object-oriented-programming/10-class-inheritance/2-clock-class-extended/source.view/clock.js diff --git a/1-js/07-object-inheritance/10-class-inheritance/2-clock-class-extended/source.view/index.html b/1-js/07-object-oriented-programming/10-class-inheritance/2-clock-class-extended/source.view/index.html similarity index 100% rename from 1-js/07-object-inheritance/10-class-inheritance/2-clock-class-extended/source.view/index.html rename to 1-js/07-object-oriented-programming/10-class-inheritance/2-clock-class-extended/source.view/index.html diff --git a/1-js/07-object-inheritance/10-class-inheritance/2-clock-class-extended/task.md b/1-js/07-object-oriented-programming/10-class-inheritance/2-clock-class-extended/task.md similarity index 100% rename from 1-js/07-object-inheritance/10-class-inheritance/2-clock-class-extended/task.md rename to 1-js/07-object-oriented-programming/10-class-inheritance/2-clock-class-extended/task.md diff --git a/1-js/07-object-inheritance/10-class-inheritance/3-class-extend-object/rabbit-extends-object.png b/1-js/07-object-oriented-programming/10-class-inheritance/3-class-extend-object/rabbit-extends-object.png similarity index 100% rename from 1-js/07-object-inheritance/10-class-inheritance/3-class-extend-object/rabbit-extends-object.png rename to 1-js/07-object-oriented-programming/10-class-inheritance/3-class-extend-object/rabbit-extends-object.png diff --git a/1-js/07-object-inheritance/10-class-inheritance/3-class-extend-object/rabbit-extends-object@2x.png b/1-js/07-object-oriented-programming/10-class-inheritance/3-class-extend-object/rabbit-extends-object@2x.png similarity index 100% rename from 1-js/07-object-inheritance/10-class-inheritance/3-class-extend-object/rabbit-extends-object@2x.png rename to 1-js/07-object-oriented-programming/10-class-inheritance/3-class-extend-object/rabbit-extends-object@2x.png diff --git a/1-js/07-object-inheritance/10-class-inheritance/3-class-extend-object/solution.md b/1-js/07-object-oriented-programming/10-class-inheritance/3-class-extend-object/solution.md similarity index 100% rename from 1-js/07-object-inheritance/10-class-inheritance/3-class-extend-object/solution.md rename to 1-js/07-object-oriented-programming/10-class-inheritance/3-class-extend-object/solution.md diff --git a/1-js/07-object-inheritance/10-class-inheritance/3-class-extend-object/task.md b/1-js/07-object-oriented-programming/10-class-inheritance/3-class-extend-object/task.md similarity index 100% rename from 1-js/07-object-inheritance/10-class-inheritance/3-class-extend-object/task.md rename to 1-js/07-object-oriented-programming/10-class-inheritance/3-class-extend-object/task.md diff --git a/1-js/07-object-inheritance/10-class-inheritance/animal-rabbit-static.png b/1-js/07-object-oriented-programming/10-class-inheritance/animal-rabbit-static.png similarity index 100% rename from 1-js/07-object-inheritance/10-class-inheritance/animal-rabbit-static.png rename to 1-js/07-object-oriented-programming/10-class-inheritance/animal-rabbit-static.png diff --git a/1-js/07-object-inheritance/10-class-inheritance/animal-rabbit-static@2x.png b/1-js/07-object-oriented-programming/10-class-inheritance/animal-rabbit-static@2x.png similarity index 100% rename from 1-js/07-object-inheritance/10-class-inheritance/animal-rabbit-static@2x.png rename to 1-js/07-object-oriented-programming/10-class-inheritance/animal-rabbit-static@2x.png diff --git a/1-js/07-object-inheritance/10-class-inheritance/article.md b/1-js/07-object-oriented-programming/10-class-inheritance/article.md similarity index 100% rename from 1-js/07-object-inheritance/10-class-inheritance/article.md rename to 1-js/07-object-oriented-programming/10-class-inheritance/article.md diff --git a/1-js/07-object-inheritance/10-class-inheritance/class-inheritance-array-object.png b/1-js/07-object-oriented-programming/10-class-inheritance/class-inheritance-array-object.png similarity index 100% rename from 1-js/07-object-inheritance/10-class-inheritance/class-inheritance-array-object.png rename to 1-js/07-object-oriented-programming/10-class-inheritance/class-inheritance-array-object.png diff --git a/1-js/07-object-inheritance/10-class-inheritance/class-inheritance-array-object@2x.png b/1-js/07-object-oriented-programming/10-class-inheritance/class-inheritance-array-object@2x.png similarity index 100% rename from 1-js/07-object-inheritance/10-class-inheritance/class-inheritance-array-object@2x.png rename to 1-js/07-object-oriented-programming/10-class-inheritance/class-inheritance-array-object@2x.png diff --git a/1-js/07-object-inheritance/10-class-inheritance/class-inheritance-rabbit-animal.png b/1-js/07-object-oriented-programming/10-class-inheritance/class-inheritance-rabbit-animal.png similarity index 100% rename from 1-js/07-object-inheritance/10-class-inheritance/class-inheritance-rabbit-animal.png rename to 1-js/07-object-oriented-programming/10-class-inheritance/class-inheritance-rabbit-animal.png diff --git a/1-js/07-object-inheritance/10-class-inheritance/class-inheritance-rabbit-animal@2x.png b/1-js/07-object-oriented-programming/10-class-inheritance/class-inheritance-rabbit-animal@2x.png similarity index 100% rename from 1-js/07-object-inheritance/10-class-inheritance/class-inheritance-rabbit-animal@2x.png rename to 1-js/07-object-oriented-programming/10-class-inheritance/class-inheritance-rabbit-animal@2x.png diff --git a/1-js/07-object-inheritance/10-class-inheritance/class-inheritance-rabbit-run-animal.png b/1-js/07-object-oriented-programming/10-class-inheritance/class-inheritance-rabbit-run-animal.png similarity index 100% rename from 1-js/07-object-inheritance/10-class-inheritance/class-inheritance-rabbit-run-animal.png rename to 1-js/07-object-oriented-programming/10-class-inheritance/class-inheritance-rabbit-run-animal.png diff --git a/1-js/07-object-inheritance/10-class-inheritance/class-inheritance-rabbit-run-animal@2x.png b/1-js/07-object-oriented-programming/10-class-inheritance/class-inheritance-rabbit-run-animal@2x.png similarity index 100% rename from 1-js/07-object-inheritance/10-class-inheritance/class-inheritance-rabbit-run-animal@2x.png rename to 1-js/07-object-oriented-programming/10-class-inheritance/class-inheritance-rabbit-run-animal@2x.png diff --git a/1-js/07-object-inheritance/10-class-inheritance/object-date-inheritance.png b/1-js/07-object-oriented-programming/10-class-inheritance/object-date-inheritance.png similarity index 100% rename from 1-js/07-object-inheritance/10-class-inheritance/object-date-inheritance.png rename to 1-js/07-object-oriented-programming/10-class-inheritance/object-date-inheritance.png diff --git a/1-js/07-object-inheritance/10-class-inheritance/object-date-inheritance@2x.png b/1-js/07-object-oriented-programming/10-class-inheritance/object-date-inheritance@2x.png similarity index 100% rename from 1-js/07-object-inheritance/10-class-inheritance/object-date-inheritance@2x.png rename to 1-js/07-object-oriented-programming/10-class-inheritance/object-date-inheritance@2x.png diff --git a/1-js/07-object-inheritance/10-class-inheritance/this-super-loop.png b/1-js/07-object-oriented-programming/10-class-inheritance/this-super-loop.png similarity index 100% rename from 1-js/07-object-inheritance/10-class-inheritance/this-super-loop.png rename to 1-js/07-object-oriented-programming/10-class-inheritance/this-super-loop.png diff --git a/1-js/07-object-inheritance/10-class-inheritance/this-super-loop@2x.png b/1-js/07-object-oriented-programming/10-class-inheritance/this-super-loop@2x.png similarity index 100% rename from 1-js/07-object-inheritance/10-class-inheritance/this-super-loop@2x.png rename to 1-js/07-object-oriented-programming/10-class-inheritance/this-super-loop@2x.png diff --git a/1-js/07-object-inheritance/11-instanceof/1-strange-instanceof/solution.md b/1-js/07-object-oriented-programming/11-instanceof/1-strange-instanceof/solution.md similarity index 100% rename from 1-js/07-object-inheritance/11-instanceof/1-strange-instanceof/solution.md rename to 1-js/07-object-oriented-programming/11-instanceof/1-strange-instanceof/solution.md diff --git a/1-js/07-object-inheritance/11-instanceof/1-strange-instanceof/task.md b/1-js/07-object-oriented-programming/11-instanceof/1-strange-instanceof/task.md similarity index 100% rename from 1-js/07-object-inheritance/11-instanceof/1-strange-instanceof/task.md rename to 1-js/07-object-oriented-programming/11-instanceof/1-strange-instanceof/task.md diff --git a/1-js/07-object-inheritance/11-instanceof/article.md b/1-js/07-object-oriented-programming/11-instanceof/article.md similarity index 100% rename from 1-js/07-object-inheritance/11-instanceof/article.md rename to 1-js/07-object-oriented-programming/11-instanceof/article.md diff --git a/1-js/07-object-inheritance/11-instanceof/instanceof.png b/1-js/07-object-oriented-programming/11-instanceof/instanceof.png similarity index 100% rename from 1-js/07-object-inheritance/11-instanceof/instanceof.png rename to 1-js/07-object-oriented-programming/11-instanceof/instanceof.png diff --git a/1-js/07-object-inheritance/11-instanceof/instanceof@2x.png b/1-js/07-object-oriented-programming/11-instanceof/instanceof@2x.png similarity index 100% rename from 1-js/07-object-inheritance/11-instanceof/instanceof@2x.png rename to 1-js/07-object-oriented-programming/11-instanceof/instanceof@2x.png diff --git a/1-js/07-object-inheritance/13-mixins/article.md b/1-js/07-object-oriented-programming/13-mixins/article.md similarity index 100% rename from 1-js/07-object-inheritance/13-mixins/article.md rename to 1-js/07-object-oriented-programming/13-mixins/article.md diff --git a/1-js/07-object-inheritance/13-mixins/head.html b/1-js/07-object-oriented-programming/13-mixins/head.html similarity index 100% rename from 1-js/07-object-inheritance/13-mixins/head.html rename to 1-js/07-object-oriented-programming/13-mixins/head.html diff --git a/1-js/07-object-inheritance/13-mixins/mixin-inheritance.png b/1-js/07-object-oriented-programming/13-mixins/mixin-inheritance.png similarity index 100% rename from 1-js/07-object-inheritance/13-mixins/mixin-inheritance.png rename to 1-js/07-object-oriented-programming/13-mixins/mixin-inheritance.png diff --git a/1-js/07-object-inheritance/13-mixins/mixin-inheritance@2x.png b/1-js/07-object-oriented-programming/13-mixins/mixin-inheritance@2x.png similarity index 100% rename from 1-js/07-object-inheritance/13-mixins/mixin-inheritance@2x.png rename to 1-js/07-object-oriented-programming/13-mixins/mixin-inheritance@2x.png diff --git a/1-js/07-object-inheritance/index.md b/1-js/07-object-oriented-programming/index.md similarity index 100% rename from 1-js/07-object-inheritance/index.md rename to 1-js/07-object-oriented-programming/index.md diff --git a/10-regular-expressions-javascript/01-regexp-introduction/article.md b/10-regular-expressions/01-regexp-introduction/article.md similarity index 100% rename from 10-regular-expressions-javascript/01-regexp-introduction/article.md rename to 10-regular-expressions/01-regexp-introduction/article.md diff --git a/10-regular-expressions-javascript/02-regexp-methods/article.md b/10-regular-expressions/02-regexp-methods/article.md similarity index 100% rename from 10-regular-expressions-javascript/02-regexp-methods/article.md rename to 10-regular-expressions/02-regexp-methods/article.md diff --git a/10-regular-expressions-javascript/03-regexp-character-classes/1-find-time-hh-mm/solution.md b/10-regular-expressions/03-regexp-character-classes/1-find-time-hh-mm/solution.md similarity index 100% rename from 10-regular-expressions-javascript/03-regexp-character-classes/1-find-time-hh-mm/solution.md rename to 10-regular-expressions/03-regexp-character-classes/1-find-time-hh-mm/solution.md diff --git a/10-regular-expressions-javascript/03-regexp-character-classes/1-find-time-hh-mm/task.md b/10-regular-expressions/03-regexp-character-classes/1-find-time-hh-mm/task.md similarity index 100% rename from 10-regular-expressions-javascript/03-regexp-character-classes/1-find-time-hh-mm/task.md rename to 10-regular-expressions/03-regexp-character-classes/1-find-time-hh-mm/task.md diff --git a/10-regular-expressions-javascript/03-regexp-character-classes/article.md b/10-regular-expressions/03-regexp-character-classes/article.md similarity index 95% rename from 10-regular-expressions-javascript/03-regexp-character-classes/article.md rename to 10-regular-expressions/03-regexp-character-classes/article.md index 5546cab4..fd633927 100644 --- a/10-regular-expressions-javascript/03-regexp-character-classes/article.md +++ b/10-regular-expressions/03-regexp-character-classes/article.md @@ -116,6 +116,11 @@ Another example: a regexp `pattern:\b\d\d\b` looks for standalone two-digit numb alert( "1 23 456 78".match(/\b\d\d\b/g) ); // 23,78 ``` +```warn header="Word boundary doesn't work for non-English alphabets" +The word boundary check `\b` tests for a boundary between `\w` and something else. But `\w` means an English letter (or a digit or an underscore), so the test won't work for other characters (like cyrillic or hieroglyphs). +``` + + ## Reverse classes For every character class there exists a "reverse class", denoted with the same letter, but uppercased. diff --git a/10-regular-expressions-javascript/03-regexp-character-classes/hello-java-boundaries.png b/10-regular-expressions/03-regexp-character-classes/hello-java-boundaries.png similarity index 100% rename from 10-regular-expressions-javascript/03-regexp-character-classes/hello-java-boundaries.png rename to 10-regular-expressions/03-regexp-character-classes/hello-java-boundaries.png diff --git a/10-regular-expressions-javascript/03-regexp-character-classes/hello-java-boundaries@2x.png b/10-regular-expressions/03-regexp-character-classes/hello-java-boundaries@2x.png similarity index 100% rename from 10-regular-expressions-javascript/03-regexp-character-classes/hello-java-boundaries@2x.png rename to 10-regular-expressions/03-regexp-character-classes/hello-java-boundaries@2x.png diff --git a/10-regular-expressions-javascript/03-regexp-character-classes/love-html5-classes.png b/10-regular-expressions/03-regexp-character-classes/love-html5-classes.png similarity index 100% rename from 10-regular-expressions-javascript/03-regexp-character-classes/love-html5-classes.png rename to 10-regular-expressions/03-regexp-character-classes/love-html5-classes.png diff --git a/10-regular-expressions-javascript/03-regexp-character-classes/love-html5-classes@2x.png b/10-regular-expressions/03-regexp-character-classes/love-html5-classes@2x.png similarity index 100% rename from 10-regular-expressions-javascript/03-regexp-character-classes/love-html5-classes@2x.png rename to 10-regular-expressions/03-regexp-character-classes/love-html5-classes@2x.png diff --git a/10-regular-expressions-javascript/04-regexp-escaping/article.md b/10-regular-expressions/04-regexp-escaping/article.md similarity index 100% rename from 10-regular-expressions-javascript/04-regexp-escaping/article.md rename to 10-regular-expressions/04-regexp-escaping/article.md diff --git a/10-regular-expressions-javascript/05-regexp-character-sets-and-ranges/1-find-range-1/solution.md b/10-regular-expressions/05-regexp-character-sets-and-ranges/1-find-range-1/solution.md similarity index 100% rename from 10-regular-expressions-javascript/05-regexp-character-sets-and-ranges/1-find-range-1/solution.md rename to 10-regular-expressions/05-regexp-character-sets-and-ranges/1-find-range-1/solution.md diff --git a/10-regular-expressions-javascript/05-regexp-character-sets-and-ranges/1-find-range-1/task.md b/10-regular-expressions/05-regexp-character-sets-and-ranges/1-find-range-1/task.md similarity index 100% rename from 10-regular-expressions-javascript/05-regexp-character-sets-and-ranges/1-find-range-1/task.md rename to 10-regular-expressions/05-regexp-character-sets-and-ranges/1-find-range-1/task.md diff --git a/10-regular-expressions-javascript/05-regexp-character-sets-and-ranges/2-find-time-2-formats/solution.md b/10-regular-expressions/05-regexp-character-sets-and-ranges/2-find-time-2-formats/solution.md similarity index 100% rename from 10-regular-expressions-javascript/05-regexp-character-sets-and-ranges/2-find-time-2-formats/solution.md rename to 10-regular-expressions/05-regexp-character-sets-and-ranges/2-find-time-2-formats/solution.md diff --git a/10-regular-expressions-javascript/05-regexp-character-sets-and-ranges/2-find-time-2-formats/task.md b/10-regular-expressions/05-regexp-character-sets-and-ranges/2-find-time-2-formats/task.md similarity index 100% rename from 10-regular-expressions-javascript/05-regexp-character-sets-and-ranges/2-find-time-2-formats/task.md rename to 10-regular-expressions/05-regexp-character-sets-and-ranges/2-find-time-2-formats/task.md diff --git a/10-regular-expressions-javascript/05-regexp-character-sets-and-ranges/article.md b/10-regular-expressions/05-regexp-character-sets-and-ranges/article.md similarity index 100% rename from 10-regular-expressions-javascript/05-regexp-character-sets-and-ranges/article.md rename to 10-regular-expressions/05-regexp-character-sets-and-ranges/article.md diff --git a/10-regular-expressions-javascript/06-regexp-unicode/article.md b/10-regular-expressions/06-regexp-unicode/article.md similarity index 100% rename from 10-regular-expressions-javascript/06-regexp-unicode/article.md rename to 10-regular-expressions/06-regexp-unicode/article.md diff --git a/10-regular-expressions-javascript/07-regexp-quantifiers/1-find-text-manydots/solution.md b/10-regular-expressions/07-regexp-quantifiers/1-find-text-manydots/solution.md similarity index 100% rename from 10-regular-expressions-javascript/07-regexp-quantifiers/1-find-text-manydots/solution.md rename to 10-regular-expressions/07-regexp-quantifiers/1-find-text-manydots/solution.md diff --git a/10-regular-expressions-javascript/07-regexp-quantifiers/1-find-text-manydots/task.md b/10-regular-expressions/07-regexp-quantifiers/1-find-text-manydots/task.md similarity index 100% rename from 10-regular-expressions-javascript/07-regexp-quantifiers/1-find-text-manydots/task.md rename to 10-regular-expressions/07-regexp-quantifiers/1-find-text-manydots/task.md diff --git a/10-regular-expressions-javascript/07-regexp-quantifiers/2-find-html-colors-6hex/solution.md b/10-regular-expressions/07-regexp-quantifiers/2-find-html-colors-6hex/solution.md similarity index 100% rename from 10-regular-expressions-javascript/07-regexp-quantifiers/2-find-html-colors-6hex/solution.md rename to 10-regular-expressions/07-regexp-quantifiers/2-find-html-colors-6hex/solution.md diff --git a/10-regular-expressions-javascript/07-regexp-quantifiers/2-find-html-colors-6hex/task.md b/10-regular-expressions/07-regexp-quantifiers/2-find-html-colors-6hex/task.md similarity index 100% rename from 10-regular-expressions-javascript/07-regexp-quantifiers/2-find-html-colors-6hex/task.md rename to 10-regular-expressions/07-regexp-quantifiers/2-find-html-colors-6hex/task.md diff --git a/10-regular-expressions-javascript/07-regexp-quantifiers/article.md b/10-regular-expressions/07-regexp-quantifiers/article.md similarity index 100% rename from 10-regular-expressions-javascript/07-regexp-quantifiers/article.md rename to 10-regular-expressions/07-regexp-quantifiers/article.md diff --git a/10-regular-expressions-javascript/08-regexp-greedy-and-lazy/1-lazy-greedy/solution.md b/10-regular-expressions/08-regexp-greedy-and-lazy/1-lazy-greedy/solution.md similarity index 100% rename from 10-regular-expressions-javascript/08-regexp-greedy-and-lazy/1-lazy-greedy/solution.md rename to 10-regular-expressions/08-regexp-greedy-and-lazy/1-lazy-greedy/solution.md diff --git a/10-regular-expressions-javascript/08-regexp-greedy-and-lazy/1-lazy-greedy/task.md b/10-regular-expressions/08-regexp-greedy-and-lazy/1-lazy-greedy/task.md similarity index 100% rename from 10-regular-expressions-javascript/08-regexp-greedy-and-lazy/1-lazy-greedy/task.md rename to 10-regular-expressions/08-regexp-greedy-and-lazy/1-lazy-greedy/task.md diff --git a/10-regular-expressions-javascript/08-regexp-greedy-and-lazy/3-find-html-comments/solution.md b/10-regular-expressions/08-regexp-greedy-and-lazy/3-find-html-comments/solution.md similarity index 100% rename from 10-regular-expressions-javascript/08-regexp-greedy-and-lazy/3-find-html-comments/solution.md rename to 10-regular-expressions/08-regexp-greedy-and-lazy/3-find-html-comments/solution.md diff --git a/10-regular-expressions-javascript/08-regexp-greedy-and-lazy/3-find-html-comments/task.md b/10-regular-expressions/08-regexp-greedy-and-lazy/3-find-html-comments/task.md similarity index 100% rename from 10-regular-expressions-javascript/08-regexp-greedy-and-lazy/3-find-html-comments/task.md rename to 10-regular-expressions/08-regexp-greedy-and-lazy/3-find-html-comments/task.md diff --git a/10-regular-expressions-javascript/08-regexp-greedy-and-lazy/4-find-html-tags-greedy-lazy/solution.md b/10-regular-expressions/08-regexp-greedy-and-lazy/4-find-html-tags-greedy-lazy/solution.md similarity index 100% rename from 10-regular-expressions-javascript/08-regexp-greedy-and-lazy/4-find-html-tags-greedy-lazy/solution.md rename to 10-regular-expressions/08-regexp-greedy-and-lazy/4-find-html-tags-greedy-lazy/solution.md diff --git a/10-regular-expressions-javascript/08-regexp-greedy-and-lazy/4-find-html-tags-greedy-lazy/task.md b/10-regular-expressions/08-regexp-greedy-and-lazy/4-find-html-tags-greedy-lazy/task.md similarity index 100% rename from 10-regular-expressions-javascript/08-regexp-greedy-and-lazy/4-find-html-tags-greedy-lazy/task.md rename to 10-regular-expressions/08-regexp-greedy-and-lazy/4-find-html-tags-greedy-lazy/task.md diff --git a/10-regular-expressions-javascript/08-regexp-greedy-and-lazy/article.md b/10-regular-expressions/08-regexp-greedy-and-lazy/article.md similarity index 100% rename from 10-regular-expressions-javascript/08-regexp-greedy-and-lazy/article.md rename to 10-regular-expressions/08-regexp-greedy-and-lazy/article.md diff --git a/10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_greedy1.png b/10-regular-expressions/08-regexp-greedy-and-lazy/witch_greedy1.png similarity index 100% rename from 10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_greedy1.png rename to 10-regular-expressions/08-regexp-greedy-and-lazy/witch_greedy1.png diff --git a/10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_greedy1@2x.png b/10-regular-expressions/08-regexp-greedy-and-lazy/witch_greedy1@2x.png similarity index 100% rename from 10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_greedy1@2x.png rename to 10-regular-expressions/08-regexp-greedy-and-lazy/witch_greedy1@2x.png diff --git a/10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_greedy2.png b/10-regular-expressions/08-regexp-greedy-and-lazy/witch_greedy2.png similarity index 100% rename from 10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_greedy2.png rename to 10-regular-expressions/08-regexp-greedy-and-lazy/witch_greedy2.png diff --git a/10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_greedy2@2x.png b/10-regular-expressions/08-regexp-greedy-and-lazy/witch_greedy2@2x.png similarity index 100% rename from 10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_greedy2@2x.png rename to 10-regular-expressions/08-regexp-greedy-and-lazy/witch_greedy2@2x.png diff --git a/10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_greedy3.png b/10-regular-expressions/08-regexp-greedy-and-lazy/witch_greedy3.png similarity index 100% rename from 10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_greedy3.png rename to 10-regular-expressions/08-regexp-greedy-and-lazy/witch_greedy3.png diff --git a/10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_greedy3@2x.png b/10-regular-expressions/08-regexp-greedy-and-lazy/witch_greedy3@2x.png similarity index 100% rename from 10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_greedy3@2x.png rename to 10-regular-expressions/08-regexp-greedy-and-lazy/witch_greedy3@2x.png diff --git a/10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_greedy4.png b/10-regular-expressions/08-regexp-greedy-and-lazy/witch_greedy4.png similarity index 100% rename from 10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_greedy4.png rename to 10-regular-expressions/08-regexp-greedy-and-lazy/witch_greedy4.png diff --git a/10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_greedy4@2x.png b/10-regular-expressions/08-regexp-greedy-and-lazy/witch_greedy4@2x.png similarity index 100% rename from 10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_greedy4@2x.png rename to 10-regular-expressions/08-regexp-greedy-and-lazy/witch_greedy4@2x.png diff --git a/10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_greedy5.png b/10-regular-expressions/08-regexp-greedy-and-lazy/witch_greedy5.png similarity index 100% rename from 10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_greedy5.png rename to 10-regular-expressions/08-regexp-greedy-and-lazy/witch_greedy5.png diff --git a/10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_greedy5@2x.png b/10-regular-expressions/08-regexp-greedy-and-lazy/witch_greedy5@2x.png similarity index 100% rename from 10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_greedy5@2x.png rename to 10-regular-expressions/08-regexp-greedy-and-lazy/witch_greedy5@2x.png diff --git a/10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_greedy6.png b/10-regular-expressions/08-regexp-greedy-and-lazy/witch_greedy6.png similarity index 100% rename from 10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_greedy6.png rename to 10-regular-expressions/08-regexp-greedy-and-lazy/witch_greedy6.png diff --git a/10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_greedy6@2x.png b/10-regular-expressions/08-regexp-greedy-and-lazy/witch_greedy6@2x.png similarity index 100% rename from 10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_greedy6@2x.png rename to 10-regular-expressions/08-regexp-greedy-and-lazy/witch_greedy6@2x.png diff --git a/10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_lazy3.png b/10-regular-expressions/08-regexp-greedy-and-lazy/witch_lazy3.png similarity index 100% rename from 10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_lazy3.png rename to 10-regular-expressions/08-regexp-greedy-and-lazy/witch_lazy3.png diff --git a/10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_lazy3@2x.png b/10-regular-expressions/08-regexp-greedy-and-lazy/witch_lazy3@2x.png similarity index 100% rename from 10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_lazy3@2x.png rename to 10-regular-expressions/08-regexp-greedy-and-lazy/witch_lazy3@2x.png diff --git a/10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_lazy4.png b/10-regular-expressions/08-regexp-greedy-and-lazy/witch_lazy4.png similarity index 100% rename from 10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_lazy4.png rename to 10-regular-expressions/08-regexp-greedy-and-lazy/witch_lazy4.png diff --git a/10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_lazy4@2x.png b/10-regular-expressions/08-regexp-greedy-and-lazy/witch_lazy4@2x.png similarity index 100% rename from 10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_lazy4@2x.png rename to 10-regular-expressions/08-regexp-greedy-and-lazy/witch_lazy4@2x.png diff --git a/10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_lazy5.png b/10-regular-expressions/08-regexp-greedy-and-lazy/witch_lazy5.png similarity index 100% rename from 10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_lazy5.png rename to 10-regular-expressions/08-regexp-greedy-and-lazy/witch_lazy5.png diff --git a/10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_lazy5@2x.png b/10-regular-expressions/08-regexp-greedy-and-lazy/witch_lazy5@2x.png similarity index 100% rename from 10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_lazy5@2x.png rename to 10-regular-expressions/08-regexp-greedy-and-lazy/witch_lazy5@2x.png diff --git a/10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_lazy6.png b/10-regular-expressions/08-regexp-greedy-and-lazy/witch_lazy6.png similarity index 100% rename from 10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_lazy6.png rename to 10-regular-expressions/08-regexp-greedy-and-lazy/witch_lazy6.png diff --git a/10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_lazy6@2x.png b/10-regular-expressions/08-regexp-greedy-and-lazy/witch_lazy6@2x.png similarity index 100% rename from 10-regular-expressions-javascript/08-regexp-greedy-and-lazy/witch_lazy6@2x.png rename to 10-regular-expressions/08-regexp-greedy-and-lazy/witch_lazy6@2x.png diff --git a/10-regular-expressions-javascript/09-regexp-groups/1-find-webcolor-3-or-6/solution.md b/10-regular-expressions/09-regexp-groups/1-find-webcolor-3-or-6/solution.md similarity index 100% rename from 10-regular-expressions-javascript/09-regexp-groups/1-find-webcolor-3-or-6/solution.md rename to 10-regular-expressions/09-regexp-groups/1-find-webcolor-3-or-6/solution.md diff --git a/10-regular-expressions-javascript/09-regexp-groups/1-find-webcolor-3-or-6/task.md b/10-regular-expressions/09-regexp-groups/1-find-webcolor-3-or-6/task.md similarity index 100% rename from 10-regular-expressions-javascript/09-regexp-groups/1-find-webcolor-3-or-6/task.md rename to 10-regular-expressions/09-regexp-groups/1-find-webcolor-3-or-6/task.md diff --git a/10-regular-expressions-javascript/09-regexp-groups/3-find-decimal-positive-numbers/solution.md b/10-regular-expressions/09-regexp-groups/3-find-decimal-positive-numbers/solution.md similarity index 100% rename from 10-regular-expressions-javascript/09-regexp-groups/3-find-decimal-positive-numbers/solution.md rename to 10-regular-expressions/09-regexp-groups/3-find-decimal-positive-numbers/solution.md diff --git a/10-regular-expressions-javascript/09-regexp-groups/3-find-decimal-positive-numbers/task.md b/10-regular-expressions/09-regexp-groups/3-find-decimal-positive-numbers/task.md similarity index 100% rename from 10-regular-expressions-javascript/09-regexp-groups/3-find-decimal-positive-numbers/task.md rename to 10-regular-expressions/09-regexp-groups/3-find-decimal-positive-numbers/task.md diff --git a/10-regular-expressions-javascript/09-regexp-groups/4-find-decimal-numbers/solution.md b/10-regular-expressions/09-regexp-groups/4-find-decimal-numbers/solution.md similarity index 100% rename from 10-regular-expressions-javascript/09-regexp-groups/4-find-decimal-numbers/solution.md rename to 10-regular-expressions/09-regexp-groups/4-find-decimal-numbers/solution.md diff --git a/10-regular-expressions-javascript/09-regexp-groups/4-find-decimal-numbers/task.md b/10-regular-expressions/09-regexp-groups/4-find-decimal-numbers/task.md similarity index 100% rename from 10-regular-expressions-javascript/09-regexp-groups/4-find-decimal-numbers/task.md rename to 10-regular-expressions/09-regexp-groups/4-find-decimal-numbers/task.md diff --git a/10-regular-expressions-javascript/09-regexp-groups/5-parse-expression/solution.md b/10-regular-expressions/09-regexp-groups/5-parse-expression/solution.md similarity index 100% rename from 10-regular-expressions-javascript/09-regexp-groups/5-parse-expression/solution.md rename to 10-regular-expressions/09-regexp-groups/5-parse-expression/solution.md diff --git a/10-regular-expressions-javascript/09-regexp-groups/5-parse-expression/task.md b/10-regular-expressions/09-regexp-groups/5-parse-expression/task.md similarity index 100% rename from 10-regular-expressions-javascript/09-regexp-groups/5-parse-expression/task.md rename to 10-regular-expressions/09-regexp-groups/5-parse-expression/task.md diff --git a/10-regular-expressions-javascript/09-regexp-groups/article.md b/10-regular-expressions/09-regexp-groups/article.md similarity index 100% rename from 10-regular-expressions-javascript/09-regexp-groups/article.md rename to 10-regular-expressions/09-regexp-groups/article.md diff --git a/10-regular-expressions-javascript/09-regexp-groups/regexp-nested-groups.png b/10-regular-expressions/09-regexp-groups/regexp-nested-groups.png similarity index 100% rename from 10-regular-expressions-javascript/09-regexp-groups/regexp-nested-groups.png rename to 10-regular-expressions/09-regexp-groups/regexp-nested-groups.png diff --git a/10-regular-expressions-javascript/09-regexp-groups/regexp-nested-groups@2x.png b/10-regular-expressions/09-regexp-groups/regexp-nested-groups@2x.png similarity index 100% rename from 10-regular-expressions-javascript/09-regexp-groups/regexp-nested-groups@2x.png rename to 10-regular-expressions/09-regexp-groups/regexp-nested-groups@2x.png diff --git a/10-regular-expressions-javascript/10-regexp-backreferences/article.md b/10-regular-expressions/10-regexp-backreferences/article.md similarity index 100% rename from 10-regular-expressions-javascript/10-regexp-backreferences/article.md rename to 10-regular-expressions/10-regexp-backreferences/article.md diff --git a/10-regular-expressions-javascript/11-regexp-alternation/01-find-programming-language/solution.md b/10-regular-expressions/11-regexp-alternation/01-find-programming-language/solution.md similarity index 100% rename from 10-regular-expressions-javascript/11-regexp-alternation/01-find-programming-language/solution.md rename to 10-regular-expressions/11-regexp-alternation/01-find-programming-language/solution.md diff --git a/10-regular-expressions-javascript/11-regexp-alternation/01-find-programming-language/task.md b/10-regular-expressions/11-regexp-alternation/01-find-programming-language/task.md similarity index 100% rename from 10-regular-expressions-javascript/11-regexp-alternation/01-find-programming-language/task.md rename to 10-regular-expressions/11-regexp-alternation/01-find-programming-language/task.md diff --git a/10-regular-expressions-javascript/11-regexp-alternation/02-find-matching-bbtags/solution.md b/10-regular-expressions/11-regexp-alternation/02-find-matching-bbtags/solution.md similarity index 100% rename from 10-regular-expressions-javascript/11-regexp-alternation/02-find-matching-bbtags/solution.md rename to 10-regular-expressions/11-regexp-alternation/02-find-matching-bbtags/solution.md diff --git a/10-regular-expressions-javascript/11-regexp-alternation/02-find-matching-bbtags/task.md b/10-regular-expressions/11-regexp-alternation/02-find-matching-bbtags/task.md similarity index 100% rename from 10-regular-expressions-javascript/11-regexp-alternation/02-find-matching-bbtags/task.md rename to 10-regular-expressions/11-regexp-alternation/02-find-matching-bbtags/task.md diff --git a/10-regular-expressions-javascript/11-regexp-alternation/03-match-quoted-string/solution.md b/10-regular-expressions/11-regexp-alternation/03-match-quoted-string/solution.md similarity index 100% rename from 10-regular-expressions-javascript/11-regexp-alternation/03-match-quoted-string/solution.md rename to 10-regular-expressions/11-regexp-alternation/03-match-quoted-string/solution.md diff --git a/10-regular-expressions-javascript/11-regexp-alternation/03-match-quoted-string/task.md b/10-regular-expressions/11-regexp-alternation/03-match-quoted-string/task.md similarity index 100% rename from 10-regular-expressions-javascript/11-regexp-alternation/03-match-quoted-string/task.md rename to 10-regular-expressions/11-regexp-alternation/03-match-quoted-string/task.md diff --git a/10-regular-expressions-javascript/11-regexp-alternation/04-match-exact-tag/solution.md b/10-regular-expressions/11-regexp-alternation/04-match-exact-tag/solution.md similarity index 100% rename from 10-regular-expressions-javascript/11-regexp-alternation/04-match-exact-tag/solution.md rename to 10-regular-expressions/11-regexp-alternation/04-match-exact-tag/solution.md diff --git a/10-regular-expressions-javascript/11-regexp-alternation/04-match-exact-tag/task.md b/10-regular-expressions/11-regexp-alternation/04-match-exact-tag/task.md similarity index 100% rename from 10-regular-expressions-javascript/11-regexp-alternation/04-match-exact-tag/task.md rename to 10-regular-expressions/11-regexp-alternation/04-match-exact-tag/task.md diff --git a/10-regular-expressions-javascript/11-regexp-alternation/article.md b/10-regular-expressions/11-regexp-alternation/article.md similarity index 100% rename from 10-regular-expressions-javascript/11-regexp-alternation/article.md rename to 10-regular-expressions/11-regexp-alternation/article.md diff --git a/10-regular-expressions-javascript/12-regexp-anchors/1-start-end/solution.md b/10-regular-expressions/12-regexp-anchors/1-start-end/solution.md similarity index 100% rename from 10-regular-expressions-javascript/12-regexp-anchors/1-start-end/solution.md rename to 10-regular-expressions/12-regexp-anchors/1-start-end/solution.md diff --git a/10-regular-expressions-javascript/12-regexp-anchors/1-start-end/task.md b/10-regular-expressions/12-regexp-anchors/1-start-end/task.md similarity index 100% rename from 10-regular-expressions-javascript/12-regexp-anchors/1-start-end/task.md rename to 10-regular-expressions/12-regexp-anchors/1-start-end/task.md diff --git a/10-regular-expressions-javascript/12-regexp-anchors/2-test-mac/solution.md b/10-regular-expressions/12-regexp-anchors/2-test-mac/solution.md similarity index 100% rename from 10-regular-expressions-javascript/12-regexp-anchors/2-test-mac/solution.md rename to 10-regular-expressions/12-regexp-anchors/2-test-mac/solution.md diff --git a/10-regular-expressions-javascript/12-regexp-anchors/2-test-mac/task.md b/10-regular-expressions/12-regexp-anchors/2-test-mac/task.md similarity index 100% rename from 10-regular-expressions-javascript/12-regexp-anchors/2-test-mac/task.md rename to 10-regular-expressions/12-regexp-anchors/2-test-mac/task.md diff --git a/10-regular-expressions-javascript/12-regexp-anchors/article.md b/10-regular-expressions/12-regexp-anchors/article.md similarity index 100% rename from 10-regular-expressions-javascript/12-regexp-anchors/article.md rename to 10-regular-expressions/12-regexp-anchors/article.md diff --git a/10-regular-expressions-javascript/13-regexp-multiline-mode/article.md b/10-regular-expressions/13-regexp-multiline-mode/article.md similarity index 100% rename from 10-regular-expressions-javascript/13-regexp-multiline-mode/article.md rename to 10-regular-expressions/13-regexp-multiline-mode/article.md diff --git a/10-regular-expressions-javascript/14-regexp-lookahead/article.md b/10-regular-expressions/14-regexp-lookahead/article.md similarity index 100% rename from 10-regular-expressions-javascript/14-regexp-lookahead/article.md rename to 10-regular-expressions/14-regexp-lookahead/article.md diff --git a/10-regular-expressions-javascript/15-regexp-infinite-backtracking-problem/article.md b/10-regular-expressions/15-regexp-infinite-backtracking-problem/article.md similarity index 100% rename from 10-regular-expressions-javascript/15-regexp-infinite-backtracking-problem/article.md rename to 10-regular-expressions/15-regexp-infinite-backtracking-problem/article.md diff --git a/10-regular-expressions-javascript/index.md b/10-regular-expressions/index.md similarity index 100% rename from 10-regular-expressions-javascript/index.md rename to 10-regular-expressions/index.md diff --git a/2-ui/1-document/04-searching-elements-dom/1-find-elements/solution.md b/2-ui/1-document/04-searching-elements-in-dom/1-find-elements/solution.md similarity index 100% rename from 2-ui/1-document/04-searching-elements-dom/1-find-elements/solution.md rename to 2-ui/1-document/04-searching-elements-in-dom/1-find-elements/solution.md diff --git a/2-ui/1-document/04-searching-elements-dom/1-find-elements/table.html b/2-ui/1-document/04-searching-elements-in-dom/1-find-elements/table.html similarity index 100% rename from 2-ui/1-document/04-searching-elements-dom/1-find-elements/table.html rename to 2-ui/1-document/04-searching-elements-in-dom/1-find-elements/table.html diff --git a/2-ui/1-document/04-searching-elements-dom/1-find-elements/task.md b/2-ui/1-document/04-searching-elements-in-dom/1-find-elements/task.md similarity index 100% rename from 2-ui/1-document/04-searching-elements-dom/1-find-elements/task.md rename to 2-ui/1-document/04-searching-elements-in-dom/1-find-elements/task.md diff --git a/2-ui/1-document/04-searching-elements-dom/2-tree-info/solution.md b/2-ui/1-document/04-searching-elements-in-dom/2-tree-info/solution.md similarity index 100% rename from 2-ui/1-document/04-searching-elements-dom/2-tree-info/solution.md rename to 2-ui/1-document/04-searching-elements-in-dom/2-tree-info/solution.md diff --git a/2-ui/1-document/04-searching-elements-dom/2-tree-info/solution.view/index.html b/2-ui/1-document/04-searching-elements-in-dom/2-tree-info/solution.view/index.html similarity index 100% rename from 2-ui/1-document/04-searching-elements-dom/2-tree-info/solution.view/index.html rename to 2-ui/1-document/04-searching-elements-in-dom/2-tree-info/solution.view/index.html diff --git a/2-ui/1-document/04-searching-elements-dom/2-tree-info/source.view/index.html b/2-ui/1-document/04-searching-elements-in-dom/2-tree-info/source.view/index.html similarity index 100% rename from 2-ui/1-document/04-searching-elements-dom/2-tree-info/source.view/index.html rename to 2-ui/1-document/04-searching-elements-in-dom/2-tree-info/source.view/index.html diff --git a/2-ui/1-document/04-searching-elements-dom/2-tree-info/task.md b/2-ui/1-document/04-searching-elements-in-dom/2-tree-info/task.md similarity index 100% rename from 2-ui/1-document/04-searching-elements-dom/2-tree-info/task.md rename to 2-ui/1-document/04-searching-elements-in-dom/2-tree-info/task.md diff --git a/2-ui/1-document/04-searching-elements-dom/article.md b/2-ui/1-document/04-searching-elements-in-dom/article.md similarity index 100% rename from 2-ui/1-document/04-searching-elements-dom/article.md rename to 2-ui/1-document/04-searching-elements-in-dom/article.md