mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-01-06 15:03:08 -05:00
chore(i18n,learn): processed translations (#48773)
This commit is contained in:
@@ -11,7 +11,7 @@ dashedName: adjust-the-hover-state-of-an-anchor-tag
|
||||
|
||||
This challenge will touch on the usage of pseudo-classes. A pseudo-class is a keyword that can be added to selectors, in order to select a specific state of the element.
|
||||
|
||||
For example, the styling of an anchor tag can be changed for its hover state using the `:hover` pseudo-class selector. Here's the CSS to change the `color` of the anchor tag to red during its hover state:
|
||||
على سبيل المثال، يمكن تغيير تصميم علامة الرابط عندما يحوم الماوس فوقها بواسطة فئة زائفة pseudo-class من نوع `:hover`. Here's the CSS to change the `color` of the anchor tag to red during its hover state:
|
||||
|
||||
```css
|
||||
a:hover {
|
||||
|
||||
@@ -8,9 +8,9 @@ dashedName: announce-new-users
|
||||
|
||||
# --description--
|
||||
|
||||
Muchas salas de chat son capaces de anunciar cuando un usuario se conecta o se desconecta y luego lo muestra a todos los usuarios conectados en el chat. Viendo como si ya estuvieras emitiendo un evento al conectar y desconectar, sólo tendrás que modificar este evento para soportar una característica de este tipo. The most logical way of doing so is sending 3 pieces of data with the event: the username of the user who connected/disconnected, the current user count, and if that username connected or disconnected.
|
||||
Muchas salas de chat son capaces de anunciar cuando un usuario se conecta o se desconecta y luego lo muestra a todos los usuarios conectados en el chat. Viendo como si ya estuvieras emitiendo un evento al conectar y desconectar, sólo tendrás que modificar este evento para soportar una característica de este tipo. La forma más lógica de hacerlo es enviando 3 datos con el evento: el nombre del usuario que se conectó/desconectó, el recuento actual de usuarios y si ese nombre se conectó o desconectó.
|
||||
|
||||
Change the event name to `'user'`, and pass an object along containing the fields `username`, `currentUsers`, and `connected` (to be `true` in case of connection, or `false` for disconnection of the user sent). Be sure to change both `'user count'` events and set the disconnect one to send `false` for the field `connected` instead of `true` like the event emitted on connect.
|
||||
Cambia el nombre del evento a `'user'`, y pasa un objeto a lo largo de los campos que contengan `username`, `currentUsers`, y `connected` (esto será, `true` en caso de conexión, o `false` para desconexión del usuario enviado). Asegúrate de cambiar los dos eventos `'user count'` y configura el de desconexión para enviar `false` para el campo `connected` en lugar de `true` como el evento emitido al conectar.
|
||||
|
||||
```js
|
||||
io.emit('user', {
|
||||
@@ -34,11 +34,11 @@ socket.on('user', data => {
|
||||
});
|
||||
```
|
||||
|
||||
Envía tu página cuando creas que lo has hecho bien. If you're running into errors, you can check out <a href="https://forum.freecodecamp.org/t/advanced-node-and-express/567135/3#announce-new-users-10" target="_blank" rel="noopener noreferrer nofollow">the project completed up to this point </a>.
|
||||
Envía tu página cuando creas que lo has hecho bien. Si te encuentras con errores, puedes consultar el <a href="https://forum.freecodecamp.org/t/advanced-node-and-express/567135/3#announce-new-users-10" target="_blank" rel="noopener noreferrer nofollow">proyecto completado hasta este momento</a>.
|
||||
|
||||
# --hints--
|
||||
|
||||
Event `'user'` should be emitted with `name`, `currentUsers`, and `connected`.
|
||||
El evento `'user'` debe emitirse con `name`, `currentUsers` y `connected`.
|
||||
|
||||
```js
|
||||
async (getUserInput) => {
|
||||
|
||||
@@ -30,13 +30,13 @@ passport.use(new LocalStrategy((username, password, done) => {
|
||||
}));
|
||||
```
|
||||
|
||||
This is defining the process to use when you try to authenticate someone locally. First, it tries to find a user in your database with the username entered. Then, it checks for the password to match. Finally, if no errors have popped up that you checked for (e.g. an incorrect password), the `user` object is returned and they are authenticated.
|
||||
Esto es definir el proceso a utilizar cuando intentas autenticar a alguien localmente. Primero, intenta encontrar un usuario en tu base de datos con el nombre de usuario introducido. Luego, comprueba que la contraseña coincida. Finalmente, si no han aparecido errores que hayas comprobado (por ejemplo, una contraseña incorrecta), se devuelve el objeto `user` y están autenticados.
|
||||
|
||||
Many strategies are set up using different settings. Generally, it is easy to set it up based on the README in that strategy's repository. A good example of this is the GitHub strategy where you don't need to worry about a username or password because the user will be sent to GitHub's auth page to authenticate. As long as they are logged in and agree then GitHub returns their profile for you to use.
|
||||
Muchas estrategias están configuradas usando diferentes ajustes. Generalmente, es fácil de configurar basándose en el README en el repositorio de esa estrategia. Un buen ejemplo de esto es la estrategia de GitHub, donde no necesitamos preocuparnos por un nombre de usuario o una contraseña porque el usuario será enviado a la página de autenticación de GitHub para autenticarse. Siempre que hayan iniciado sesión y estén de acuerdo, GitHub nos devuelve su perfil para que lo utilicemos.
|
||||
|
||||
In the next step, you will set up how to actually call the authentication strategy to validate a user based on form data.
|
||||
En el siguiente paso, configurarás cómo llamar realmente a la estrategia de autenticación para validar a un usuario basándote en los datos del formulario.
|
||||
|
||||
Envía tu página cuando creas que lo has hecho bien. If you're running into errors, you can <a href="https://forum.freecodecamp.org/t/advanced-node-and-express/567135#authentication-strategies-6" target="_blank" rel="noopener noreferrer nofollow">check out the project completed up to this point</a>.
|
||||
Envía tu página cuando creas que lo has hecho bien. Si te encuentras con errores, puedes <a href="https://forum.freecodecamp.org/t/advanced-node-and-express/567135#authentication-strategies-6" target="_blank" rel="noopener noreferrer nofollow">consultar el proyecto realizado hasta este momento</a>.
|
||||
|
||||
# --hints--
|
||||
|
||||
@@ -55,7 +55,7 @@ async (getUserInput) => {
|
||||
}
|
||||
```
|
||||
|
||||
Passport-local should be correctly required and set up.
|
||||
Passport-local debe ser correctamente requerido y configurado.
|
||||
|
||||
```js
|
||||
async (getUserInput) => {
|
||||
|
||||
@@ -65,7 +65,7 @@ console.log('user ' + socket.request.user.username + ' connected');
|
||||
|
||||
¡Se registrará en la consola del servidor quién se ha conectado!
|
||||
|
||||
Envía tu página cuando creas que lo has hecho bien. If you're running into errors, you can <a href="https://forum.freecodecamp.org/t/advanced-node-and-express/567135#authentication-with-socketio-9" target="_blank" rel="noopener noreferrer nofollow">check out the project up to this point</a>.
|
||||
Envía tu página cuando creas que lo has hecho bien. Si te encuentras con errores, puedes <a href="https://forum.freecodecamp.org/t/advanced-node-and-express/567135#authentication-with-socketio-9" target="_blank" rel="noopener noreferrer nofollow">consultar el proyecto realizado hasta este momento</a>.
|
||||
|
||||
# --hints--
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ dashedName: step-1
|
||||
|
||||
# --description--
|
||||
|
||||
JavaScript è un linguaggio molto potente che ti permette di realizzare siti web interattivi. Per iniziare, crea il testo standard HTML con `DOCTYPE`, `html`, `head` e `body`. Includi un elemento `title` e un `link` per il foglio degli stili e un tag `meta` per il `charset`. Then, create a `div` element with `id` set to `game` within your `body`. Usa il testo `RPG - Dragon Repeller` per l'elemento `title`.
|
||||
JavaScript è un linguaggio molto potente che ti permette di realizzare siti web interattivi. Per iniziare, crea il testo standard HTML con `DOCTYPE`, `html`, `head` e `body`. Includi un elemento `title` e un `link` per il foglio degli stili e un tag `meta` per il `charset`. Poi, crea un elemento `div` con l'`id` impostato su `game` all'interno del `body`. Usa il testo `RPG - Dragon Repeller` per l'elemento `title`.
|
||||
|
||||
# --hints--
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ In modo simile all'elemento `#stats`, l'elemento `#monsterStats` ha bisogno di d
|
||||
|
||||
# --hints--
|
||||
|
||||
Your `#monsterStats` element should have two `span` elements.
|
||||
L'elemento `#monsterStats` dovrebbe avere due elementi `span`.
|
||||
|
||||
```js
|
||||
const spans = document.querySelectorAll(`#monsterStats > span`);
|
||||
|
||||
@@ -7,7 +7,7 @@ dashedName: step-1
|
||||
|
||||
# --description--
|
||||
|
||||
O JavaScript é uma linguagem poderosa, que permite que você construa sites que são interativos. Para começar, crie seu boilerplate de HTML padrão com um `DOCTYPE`, `html`, `head` e `body`. Inclua um `title` e um `link` para a stylesheet, além da tag `meta`, para o `charset`. Then, create a `div` element with `id` set to `game` within your `body`. Use o texto `RPG - Dragon Repeller` para seu elemento `title`.
|
||||
O JavaScript é uma linguagem poderosa, que permite que você construa sites que são interativos. Para começar, crie seu boilerplate de HTML padrão com um `DOCTYPE`, `html`, `head` e `body`. Inclua um `title` e um `link` para a stylesheet, além da tag `meta`, para o `charset`. Em seguida, crie um elemento `div` com o `id` definido como `game` dentro de `body`. Use o texto `RPG - Dragon Repeller` para seu elemento `title`.
|
||||
|
||||
# --hints--
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ Semelhante ao elemento `#stats`, o elemento `#monsterStats` necessita de dois el
|
||||
|
||||
# --hints--
|
||||
|
||||
Your `#monsterStats` element should have two `span` elements.
|
||||
O elemento `#monsterStats` deve ter dois elementos `span`.
|
||||
|
||||
```js
|
||||
const spans = document.querySelectorAll(`#monsterStats > span`);
|
||||
|
||||
@@ -9,9 +9,9 @@ dashedName: access-multi-dimensional-arrays-with-indexes
|
||||
|
||||
# --description--
|
||||
|
||||
<dfn>Багатовимірні масиви</dfn> можна також описати як *масиви в масивах*. When you use brackets to access your array, the first set of brackets refers to the entries in the outermost (the first level) array, and each additional pair of brackets refers to the next level of entries inside.
|
||||
<dfn>Багатовимірний масив</dfn> можна описати як *масив масивів*. Коли ви використовуєте дужки для доступу до масиву, перша пара дужок стосується записів зовнішнього (перший рівень) масиву, і кожна додаткова пара дужок стосується наступного рівня записів.
|
||||
|
||||
**Наприклад**
|
||||
**Приклад**
|
||||
|
||||
```js
|
||||
const arr = [
|
||||
@@ -26,23 +26,23 @@ const nestedSubarray = arr[3][0];
|
||||
const element = arr[3][0][1];
|
||||
```
|
||||
|
||||
In this example, `subarray` has the value `[[10, 11, 12], 13, 14]`, `nestedSubarray` has the value `[10, 11, 12]`, and `element` has the value `11` .
|
||||
У цьому прикладі `subarray` має значення `[[10, 11, 12], 13, 14]`, `nestedSubarray` має значення `[10, 11, 12]`, а `element` має значення `11`.
|
||||
|
||||
**Примітка:** ніколи не вставляйте пробіл між ім'ям масиву і квадратними дужками, наприклад, так `array [0][0]` і навіть так `array [0] [0]` не можна робити. Незважаючи на те, що для JavaScript це є дрібницею, ця звичка може ускладнити читання коду іншими програмістами.
|
||||
**Примітка:** ніколи не вставляйте пробіл між назвою масиву і квадратними дужками. Наприклад, `array [0][0]` або `array [0] [0]`. Хоча JavaScript і може це обробити, таке написання може ускладнити читання коду для інших програмістів.
|
||||
|
||||
# --instructions--
|
||||
|
||||
За допомогою квадратних дужок виберіть елемент із `myArray` таким чином, щоб `myData` дорівнював `8`.
|
||||
Використовуючи дужкову нотацію, виберіть елемент із `myArray` таким чином, щоб `myData` дорівнював `8`.
|
||||
|
||||
# --hints--
|
||||
|
||||
`myData` має дорівнювати `8`.
|
||||
`myData` повинен дорівнювати `8`.
|
||||
|
||||
```js
|
||||
assert(myData === 8);
|
||||
```
|
||||
|
||||
Ви маєте використовувати квадратні дужки, щоб зчитати правильне значення з `myArray`.
|
||||
Ви повинні використати дужкову нотацію, щоб зчитати правильне значення з `myArray`.
|
||||
|
||||
```js
|
||||
assert(/myData=myArray\[2\]\[1\]/.test(__helpers.removeWhiteSpace(code)));
|
||||
|
||||
@@ -9,7 +9,7 @@ dashedName: accessing-nested-arrays
|
||||
|
||||
# --description--
|
||||
|
||||
Як ми бачили в попередніх прикладах, об'єкти можуть містити і вкладені об'єкти, і вкладені масиви. Подібно до доступу до вкладених об'єктів, запис набору масивів може бути сформований для доступу до вкладених масив.
|
||||
Як ми бачили в попередніх прикладах, об'єкти можуть містити і вкладені об'єкти, і вкладені масиви. Подібно до доступу до вкладених об'єктів, для доступу до вкладених масивів можна об'єднати дужкову нотацію.
|
||||
|
||||
Ось приклад того, як отримати доступ до вкладеного масиву:
|
||||
|
||||
@@ -37,7 +37,7 @@ ourPets[0].names[1];
|
||||
ourPets[1].names[0];
|
||||
```
|
||||
|
||||
`ourPets[0].names[1]` буде рядком `Fluffy`, і `ourPets[1].names[0]` буде рядком `Spot`.
|
||||
`ourPets[0].names[1]` буде рядком `Fluffy`, а `ourPets[1].names[0]` буде рядком `Spot`.
|
||||
|
||||
# --instructions--
|
||||
|
||||
@@ -45,13 +45,13 @@ ourPets[1].names[0];
|
||||
|
||||
# --hints--
|
||||
|
||||
`secondTree` повинно дорівнювати рядку `pine`.
|
||||
`secondTree` повинен дорівнювати рядку `pine`.
|
||||
|
||||
```js
|
||||
assert(secondTree === 'pine');
|
||||
```
|
||||
|
||||
У вашому коді повинні бути точкова і дужкова нотація, щоб отримати доступ до `myPlants`.
|
||||
Щоб отримати доступ до `myPlants`, використайте точкову та дужкову нотацію.
|
||||
|
||||
```js
|
||||
assert(/=\s*myPlants\[1\].list\[1\]/.test(code));
|
||||
|
||||
@@ -9,7 +9,7 @@ dashedName: accessing-nested-objects
|
||||
|
||||
# --description--
|
||||
|
||||
Доступ до субвластивостей об'єктів можна отримати використавши крапкову або дужкову нотацію.
|
||||
Доступ до підвластивостей об'єктів можна отримати завдяки ланцюжку точкової та дужкової нотацій.
|
||||
|
||||
Ось вкладений об'єкт:
|
||||
|
||||
@@ -31,21 +31,21 @@ ourStorage.cabinet["top drawer"].folder2;
|
||||
ourStorage.desk.drawer;
|
||||
```
|
||||
|
||||
`ourStorage.cabinet["top drawer"].folder2` зміниться на `secrets`, і `ourStorage.desk.drawer` зміниться на `stapler`.
|
||||
`ourStorage.cabinet["top drawer"].folder2` буде рядком `secrets`, а `ourStorage.desk.drawer` буде рядком `stapler`.
|
||||
|
||||
# --instructions--
|
||||
|
||||
Отримайте доступ до `myStorage` та визначте вміст скрині `glove box` для змінної `gloveBoxContents`. Використовуйте точкову нотацію для всіх властивостей, де це можливо, в іншому випадку використовуйте дужки.
|
||||
Отримайте доступ до `myStorage` та призначте вміст властивості `glove box` до змінної `gloveBoxContents`. Використайте точкову нотацію для всіх властивостей, де можливо. В іншому випадку використайте дужкову нотацію.
|
||||
|
||||
# --hints--
|
||||
|
||||
`gloveBoxContents` має дорівнювати рядку `maps`.
|
||||
`gloveBoxContents` повинен дорівнювати рядку `maps`.
|
||||
|
||||
```js
|
||||
assert(gloveBoxContents === 'maps');
|
||||
```
|
||||
|
||||
Використовуйте крапкову або дужкову нотацію в коді, щоб отримати доступ до `myStorage`.
|
||||
Щоб отримати доступ до `myStorage`, використайте точкову та дужкову нотацію.
|
||||
|
||||
```js
|
||||
assert(/=\s*myStorage\.car\.inside\[\s*("|')glove box\1\s*\]/g.test(code));
|
||||
|
||||
@@ -9,11 +9,11 @@ dashedName: accessing-object-properties-with-bracket-notation
|
||||
|
||||
# --description--
|
||||
|
||||
Наступний спосіб отримати доступ до властивостей об'єкта - це використати дужкову нотацію (`[]`). Якщо характеристика об'єкта, до якого ви намагаєтеся отримати доступ, має пропуск у назві, потрібно використовувати квадратні дужки.
|
||||
Другим способом отримати доступ до властивостей об'єкта є дужкова нотація (`[]`). Якщо властивість об'єкта, до якої ви намагаєтеся отримати доступ, має пропуск у назві, потрібно використати дужкову нотацію.
|
||||
|
||||
Однак, ви також можете використовувати дужкову нотацію для характеристик об'єкта без пропусків.
|
||||
Однак дужкову нотацію можна використовувати і для властивостей об'єкта без пропусків.
|
||||
|
||||
Нижче наведено приклад використання дужкової нотації для прочитання характеристик об'єкта:
|
||||
Нижче наведено приклад дужкової нотації для прочитання властивостей об'єкта:
|
||||
|
||||
```js
|
||||
const myObj = {
|
||||
@@ -27,41 +27,41 @@ myObj['More Space'];
|
||||
myObj["NoSpace"];
|
||||
```
|
||||
|
||||
`myObj["Space Name"]` зміниться на `Kirk`, `myObj['More Space']` зміниться на`Spock`, і `myObj["NoSpace"]` зміниться на `USS Enterprise`.
|
||||
`myObj["Space Name"]` буде рядком `Kirk`, `myObj['More Space']` буде рядком `Spock`, а `myObj["NoSpace"]` буде рядком `USS Enterprise`.
|
||||
|
||||
Зауважте, що значення імен з пробілами, повинні бути в лапках (одинарних або подвійних).
|
||||
Зауважте, що назви властивостей з пробілами повинні бути в лапках (одинарних або подвійних).
|
||||
|
||||
# --instructions--
|
||||
|
||||
Прочитайте значення властивостей `an entree` і `the drink` в `testObj` використовуючи запис у квадратних дужках, та зазначте їх як `entreeValue` і `drinkValue` відповідно.
|
||||
Прочитайте значення властивостей `an entree` та `the drink` в `testObj`, використовуючи дужкову нотацію, та призначте їх до `entreeValue` та `drinkValue` відповідно.
|
||||
|
||||
# --hints--
|
||||
|
||||
`entreeValue` має бути рядком
|
||||
`entreeValue` повинен бути рядком
|
||||
|
||||
```js
|
||||
assert(typeof entreeValue === 'string');
|
||||
```
|
||||
|
||||
Значення `entreeValue` має бути рядком `hamburger`
|
||||
Значення `entreeValue` повинне бути рядком `hamburger`
|
||||
|
||||
```js
|
||||
assert(entreeValue === 'hamburger');
|
||||
```
|
||||
|
||||
`drinkValue` має бути рядком
|
||||
`drinkValue` повинне бути рядком
|
||||
|
||||
```js
|
||||
assert(typeof drinkValue === 'string');
|
||||
```
|
||||
|
||||
Значення `drinkValue` має бути рядком `water`
|
||||
Значення `drinkValue` повинне бути рядком `water`
|
||||
|
||||
```js
|
||||
assert(drinkValue === 'water');
|
||||
```
|
||||
|
||||
Потрібно використовувати квадратні дужки двічі
|
||||
Ви повинні використати дужкову нотацію двічі
|
||||
|
||||
```js
|
||||
assert(code.match(/testObj\s*?\[('|")[^'"]+\1\]/g).length > 1);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: 56533eb9ac21ba0edf2244c7
|
||||
title: Доступ до властивостей об'єкту за допомогою крапкових знаків
|
||||
title: Доступ до властивостей об'єкту за допомогою точкової нотації
|
||||
challengeType: 1
|
||||
videoUrl: 'https://scrimba.com/c/cGryJs8'
|
||||
forumTopicId: 16164
|
||||
@@ -9,11 +9,11 @@ dashedName: accessing-object-properties-with-dot-notation
|
||||
|
||||
# --description--
|
||||
|
||||
Є два способи доступу до властивостей об'єкту: крапковий запис (`.`) та запис за допомогою квадратних дужок (`[]`), подібні до масиву.
|
||||
Є два способи отримати доступ до властивостей об'єкту: точкова нотація (`.`) та дужкова нотація (`[]`), подібно до масиву.
|
||||
|
||||
Крапковий запис, це те, що ви використовуєте, коли ви знаєте назву властивості, до якої намагаєтеся отримати доступ.
|
||||
Точкову нотацію використовують, якщо заздалегідь знають назву властивості, до якої намагаються отримати доступ.
|
||||
|
||||
Нижче наведено приклад крапкового запису (`.`) для прочитання властивостей об'єкта:
|
||||
Нижче наведено приклад точкової нотації (`.`) для прочитання властивостей об'єкта:
|
||||
|
||||
```js
|
||||
const myObj = {
|
||||
@@ -25,39 +25,39 @@ const prop1val = myObj.prop1;
|
||||
const prop2val = myObj.prop2;
|
||||
```
|
||||
|
||||
`prop1val` матиме значення рядка `val1`, і `prop2val` матиме значення рядка `val2`.
|
||||
`prop1val` матиме значення рядка `val1`, а `prop2val` матиме значення рядка `val2`.
|
||||
|
||||
# --instructions--
|
||||
|
||||
Прочитайте значення властивостей `testObj`, використовуючи крапковий запис. Встановіть змінну `hatValue` рівну властивостям об'єкта `hat` і встановіть змінну `shirtValue` рівну властивостям об'єкта `shirt`.
|
||||
Прочитайте значення властивостей `testObj`, використовуючи точкову нотацію. Встановіть змінну `hatValue` рівною властивостям об'єкта `hat` та встановіть змінну `shirtValue` рівною властивостям об'єкта `shirt`.
|
||||
|
||||
# --hints--
|
||||
|
||||
`hatValue` має бути рядком
|
||||
`hatValue` повинен бути рядком
|
||||
|
||||
```js
|
||||
assert(typeof hatValue === 'string');
|
||||
```
|
||||
|
||||
Значення `hatValue` має бути рядком `ballcap`
|
||||
Значення `hatValue` повинне бути рядком `ballcap`
|
||||
|
||||
```js
|
||||
assert(hatValue === 'ballcap');
|
||||
```
|
||||
|
||||
`shirtValue` має бути рядком
|
||||
`shirtValue` повинен бути рядком
|
||||
|
||||
```js
|
||||
assert(typeof shirtValue === 'string');
|
||||
```
|
||||
|
||||
Значення `shirtValue` має бути рядком `jersey`
|
||||
Значення `shirtValue` повинне бути рядком `jersey`
|
||||
|
||||
```js
|
||||
assert(shirtValue === 'jersey');
|
||||
```
|
||||
|
||||
Використовувати крапковий запис потрібно двічі
|
||||
Ви повинні використати точкову нотацію двічі
|
||||
|
||||
```js
|
||||
assert(code.match(/testObj\.\w+/g).length > 1);
|
||||
|
||||
@@ -9,7 +9,7 @@ dashedName: accessing-object-properties-with-variables
|
||||
|
||||
# --description--
|
||||
|
||||
Ще одне використання дужкової нотації на об'єктах полягає в доступі до властивостей, які зберігаються у вигляді змінної величини. Це може бути дуже корисним для ітерації властивостей об'єкта або при отриманні доступу до пошукової таблиці.
|
||||
Дужкову нотацію також можна використати на об'єктах, щоб отримати доступ до властивостей, що зберігаються як значення змінної. Це може бути дуже корисно при ітерації властивостей об'єкта або при отриманні доступу до пошукової таблиці.
|
||||
|
||||
Ось приклад використання змінної для отримання доступу до властивостей:
|
||||
|
||||
@@ -25,47 +25,47 @@ const myBreed = dogs[myDog];
|
||||
console.log(myBreed);
|
||||
```
|
||||
|
||||
У консолі відображатиметься рядок `Doberman`.
|
||||
Рядок `Doberman` повинен відображатись на консолі.
|
||||
|
||||
Note that we do *not* use quotes around the variable name when using it to access the property because we are using the *value* of the variable, not the *name*.
|
||||
Зверніть увагу, що ми *не* використовуємо лапки із назвами змінних, якщо використовуємо їх для доступу до властивостей, оскільки ми використовуємо *значення* змінної, а не *назву*.
|
||||
|
||||
# --instructions--
|
||||
|
||||
Set the `playerNumber` variable to `16`. Then, use the variable to look up the player's name and assign it to `player`.
|
||||
Встановіть змінну `playerNumber` на `16`. Потім використайте змінну для пошуку імені гравця та призначте її до `player`.
|
||||
|
||||
# --hints--
|
||||
|
||||
`playerNumber` should be a number
|
||||
`playerNumber` повинен бути числом
|
||||
|
||||
```js
|
||||
assert(typeof playerNumber === 'number');
|
||||
```
|
||||
|
||||
The variable `player` should be a string
|
||||
Змінна `player` повинна бути рядком
|
||||
|
||||
```js
|
||||
assert(typeof player === 'string');
|
||||
```
|
||||
|
||||
The value of `player` should be the string `Montana`
|
||||
Значенням `player` повинен бути рядок `Montana`
|
||||
|
||||
```js
|
||||
assert(player === 'Montana');
|
||||
```
|
||||
|
||||
You should use bracket notation to access `testObj`
|
||||
Щоб отримати доступ до `testObj`, використайте дужкову нотацію
|
||||
|
||||
```js
|
||||
assert(/testObj\s*?\[.*?\]/.test(code));
|
||||
```
|
||||
|
||||
You should not assign the value `Montana` to the variable `player` directly.
|
||||
Не присвоюйте значення `Montana` до змінної `player` напряму.
|
||||
|
||||
```js
|
||||
assert(!code.match(/player\s*=\s*"|\'\s*Montana\s*"|\'\s*;/gi));
|
||||
```
|
||||
|
||||
You should be using the variable `playerNumber` in your bracket notation
|
||||
Ви повинні використати змінну `playerNumber` у своїй дужковій нотації
|
||||
|
||||
```js
|
||||
assert(/testObj\s*?\[\s*playerNumber\s*\]/.test(code));
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: 56bbb991ad1ed5201cd392d2
|
||||
title: Додати нові властивості об'єкту JavaScript
|
||||
title: Додавання нових властивостей до об'єкта JavaScript
|
||||
challengeType: 1
|
||||
videoUrl: 'https://scrimba.com/c/cQe38UD'
|
||||
forumTopicId: 301169
|
||||
@@ -9,9 +9,9 @@ dashedName: add-new-properties-to-a-javascript-object
|
||||
|
||||
# --description--
|
||||
|
||||
Ви можете додати нові властивості вже наявним об'єктам JavaScript, таким чином модифікуючи їх.
|
||||
Ви можете додати нові властивості до наявних об'єктів JavaScript так само, як ви б модифікували їх.
|
||||
|
||||
Нижче подано як додавати властивість `bark` до `ourDog`:
|
||||
Таким чином ми б додали властивість `bark` до `ourDog`:
|
||||
|
||||
```js
|
||||
ourDog.bark = "bow-wow";
|
||||
@@ -23,9 +23,9 @@ ourDog.bark = "bow-wow";
|
||||
ourDog["bark"] = "bow-wow";
|
||||
```
|
||||
|
||||
Тепер, коли оцінимо `ourDog.bark`, отримаємо його гавкання, `bow-wow`.
|
||||
Якщо ми виконаємо `ourDog.bark`, отримаємо гавкання `bow-wow`.
|
||||
|
||||
Наприклад:
|
||||
Приклад:
|
||||
|
||||
```js
|
||||
const ourDog = {
|
||||
@@ -40,17 +40,17 @@ ourDog.bark = "bow-wow";
|
||||
|
||||
# --instructions--
|
||||
|
||||
Додайте властивість `bark` до `myDog` і встановіть його на звук собаки, наприклад "гав". Ви можете використовувати крапковий запис або запис квадратними дужками.
|
||||
Додайте властивість `bark` до `myDog` і встановіть її на гавкіт собаки, наприклад «woof». Ви можете використати точкову або дужкову нотацію.
|
||||
|
||||
# --hints--
|
||||
|
||||
Вам потрібно додати властивість `bark` до `myDog`.
|
||||
Ви повинні додати властивість `bark` до `myDog`.
|
||||
|
||||
```js
|
||||
assert(myDog.bark !== undefined);
|
||||
```
|
||||
|
||||
Не слід додавати `bark` до ініціалізації `myDog`.
|
||||
Ви не повинні додавати `bark` до ініціалізації `myDog`.
|
||||
|
||||
```js
|
||||
assert(!/bark[^\n]:/.test(code));
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: cf1111c1c11feddfaeb3bdef
|
||||
title: Додайте два числа з JavaScript
|
||||
title: Додавання двох чисел за допомогою JavaScript
|
||||
challengeType: 1
|
||||
videoUrl: 'https://scrimba.com/c/cM2KBAG'
|
||||
forumTopicId: 16650
|
||||
@@ -9,19 +9,19 @@ dashedName: add-two-numbers-with-javascript
|
||||
|
||||
# --description--
|
||||
|
||||
`Number` - це такий тип в JavaScript, який передає числові дані.
|
||||
`Number` – це тип в JavaScript, який представляє числові дані.
|
||||
|
||||
Тепер спробуємо додати два числа за допомогою JavaScript.
|
||||
|
||||
JavaScript використовує символ `+` в ролі оператора додавання, і розміщується між двома числами.
|
||||
JavaScript використовує символ `+` як оператор додавання, якщо він розміщений між двома числами.
|
||||
|
||||
**Наприклад:**
|
||||
**Приклад:**
|
||||
|
||||
```js
|
||||
const myVar = 5 + 10;
|
||||
```
|
||||
|
||||
`myVar` тепер матиме значення `15`.
|
||||
Тепер `myVar` має значення `15`.
|
||||
|
||||
# --instructions--
|
||||
|
||||
@@ -35,7 +35,7 @@ const myVar = 5 + 10;
|
||||
assert(sum === 20);
|
||||
```
|
||||
|
||||
Вам слід використовувати оператор `+`.
|
||||
Ви повинні використати оператор `+`.
|
||||
|
||||
```js
|
||||
assert(/\+/.test(code));
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: 56533eb9ac21ba0edf2244de
|
||||
title: Додавання опції за замовчуванням до команди Switch
|
||||
title: Додавання опції за замовчуванням до інструкції switch
|
||||
challengeType: 1
|
||||
videoUrl: 'https://scrimba.com/c/c3JvVfg'
|
||||
forumTopicId: 16653
|
||||
@@ -9,9 +9,9 @@ dashedName: adding-a-default-option-in-switch-statements
|
||||
|
||||
# --description--
|
||||
|
||||
В команді `switch` ви не матимете можливості вказати усі можливі значення, наприклад, як команда `case`. Натомість, ви можете додати команду `default`, яка включатиметься, якщо не знайдено відповідних перемикачів `case`. Вважайте це фінальною командою `else` у ланцюжку `if/else`.
|
||||
В інструкції `switch` ви не завжди зможете вказати усі можливі значення, як інструкції `case`. Натомість ви можете додати інструкцію `default`, яка виконуватиметься, якщо не знайдено відповідних інструкцій `case`. Вважайте це кінцевою інструкцією `else` у ланцюжку `if/else`.
|
||||
|
||||
`default` перемикач повинен бути останнім.
|
||||
Інструкція `default` повинна бути вкінці.
|
||||
|
||||
```js
|
||||
switch (num) {
|
||||
@@ -30,7 +30,7 @@ switch (num) {
|
||||
|
||||
# --instructions--
|
||||
|
||||
Напишіть команду switch, щоб встановити `answer` за наступних умов:
|
||||
Напишіть інструкцію switch, щоб становити `answer` для наступних інструкцій:
|
||||
`a` - `apple`
|
||||
`b` - `bird`
|
||||
`c` - `cat`
|
||||
@@ -38,49 +38,49 @@ switch (num) {
|
||||
|
||||
# --hints--
|
||||
|
||||
`switchOfStuff("a")` повинен перетворитися на рядок `apple`
|
||||
`switchOfStuff("a")` повинен повертати рядок `apple`
|
||||
|
||||
```js
|
||||
assert(switchOfStuff('a') === 'apple');
|
||||
```
|
||||
|
||||
`switchOfStuff("b")` повинен перетворитися на рядок`bird`
|
||||
`switchOfStuff("b")` повинен повертати рядок `bird`
|
||||
|
||||
```js
|
||||
assert(switchOfStuff('b') === 'bird');
|
||||
```
|
||||
|
||||
`switchOfStuff("c")` повинен перетворитися на рядок `cat`
|
||||
`switchOfStuff("c")` повинен повертати рядок `cat`
|
||||
|
||||
```js
|
||||
assert(switchOfStuff('c') === 'cat');
|
||||
```
|
||||
|
||||
`switchOfStuff("d")` повинен перетворитися на рядок `stuff`
|
||||
`switchOfStuff("d")` повинен повертати рядок `stuff`
|
||||
|
||||
```js
|
||||
assert(switchOfStuff('d') === 'stuff');
|
||||
```
|
||||
|
||||
`switchOfStuff(4)` повинен перетворитися на рядок `stuff`
|
||||
`switchOfStuff(4)` повинен повертати рядок `stuff`
|
||||
|
||||
```js
|
||||
assert(switchOfStuff(4) === 'stuff');
|
||||
```
|
||||
|
||||
Ви не повинні використовувати `if` чи `else` команди
|
||||
Ви не повинні використовувати інструкції `if` чи `else`
|
||||
|
||||
```js
|
||||
assert(!/else/g.test(code) || !/if/g.test(code));
|
||||
```
|
||||
|
||||
Вам слід користуватись командою`default`
|
||||
Ви повинні використати інструкцію `default`
|
||||
|
||||
```js
|
||||
assert(switchOfStuff('string-to-trigger-default-case') === 'stuff');
|
||||
```
|
||||
|
||||
Потрібно мати щонайменше 3 команди `break`
|
||||
Ви повинні мати принаймні 3 інструкції `break`
|
||||
|
||||
```js
|
||||
assert(code.match(/break/g).length > 2);
|
||||
|
||||
@@ -9,9 +9,9 @@ dashedName: appending-variables-to-strings
|
||||
|
||||
# --description--
|
||||
|
||||
Так само, як ми можемо створити рядок з декількох рядків за допомогою <dfn>literals</dfn>, ми також можемо додати змінні до рядка, використовуючи знаки "плюс" та "дорівнює" (`+=`).
|
||||
Ми можемо створити рядок з декількох рядкових <dfn>літералів</dfn>, і так само ми можемо додати змінні до рядка, використовуючи оператор додавання з присвоєнням (`+=`).
|
||||
|
||||
Наприклад:
|
||||
Приклад:
|
||||
|
||||
```js
|
||||
const anAdjective = "awesome!";
|
||||
@@ -23,17 +23,17 @@ ourStr += anAdjective;
|
||||
|
||||
# --instructions--
|
||||
|
||||
Встановіть `someAdjective` у рядку із щонайменше 3 символів і додайте його до `myStr`, використовуючи знаки `+=`.
|
||||
Встановіть `someAdjective` на рядок з принаймні 3 символів та додайте його до `myStr`, використовуючи оператор `+=`.
|
||||
|
||||
# --hints--
|
||||
|
||||
`someAdjective` повинен бути встановлений у рядку, який складається із не менше, ніж 3 символів.
|
||||
`someAdjective` повинен бути встановлений як рядок з принаймні 3 символів.
|
||||
|
||||
```js
|
||||
assert(typeof someAdjective !== 'undefined' && someAdjective.length > 2);
|
||||
```
|
||||
|
||||
Вам потрібно додати `someAdjective` до `myStr`, використовуючи знаки `+=`.
|
||||
Ви повинні додати `someAdjective` до `myStr`, використовуючи оператор `+=`.
|
||||
|
||||
```js
|
||||
assert(code.match(/myStr\s*\+=\s*someAdjective\s*/).length > 0);
|
||||
|
||||
@@ -9,7 +9,7 @@ dashedName: assigning-the-value-of-one-variable-to-another
|
||||
|
||||
# --description--
|
||||
|
||||
Після присвоєння значення змінної за допомогою оператора <dfn>assignment</dfn>, Ви можете присвоїти значення цієї змінної іншій змінній, використовуючи оператор <dfn>assignment</dfn>.
|
||||
Після того, як значення змінної присвоєне за допомогою оператора <dfn>присвоювання</dfn>, ви можете присвоїти значення цієї змінної іншій змінній, використовуючи оператор <dfn>присвоювання</dfn>.
|
||||
|
||||
```js
|
||||
var myVar;
|
||||
@@ -18,27 +18,27 @@ var myNum;
|
||||
myNum = myVar;
|
||||
```
|
||||
|
||||
Наведений вище приклад показує, що `myVar` - змінна без значення, а потім присвоює їй значення `5`. Далі можна побачити, що змінна з назвою `myNum`, - теж без значення. Потім, вміст `myVar` (який дорівнює `5`) присвоюється змінній `myNum`. І, ось, `myNum` тепер також має значення `5`.
|
||||
Наведений вище приклад оголошує змінну `myVar` без значення, а потім присвоює їй значення `5`. Потім оголошується змінна під назвою `myNum` без значення. Потім вміст `myVar` (який становить `5`) присвоюється до змінної `myNum`. Тепер `myNum` також має значення `5`.
|
||||
|
||||
# --instructions--
|
||||
|
||||
Призначте значення `a` змінній `b`.
|
||||
Призначте вміст `a` до змінної `b`.
|
||||
|
||||
# --hints--
|
||||
|
||||
Не слід змінювати код над зазначеним коментарем.
|
||||
Не змінюйте код над зазначеним коментарем.
|
||||
|
||||
```js
|
||||
assert(/var a;/.test(code) && /a = 7;/.test(code) && /var b;/.test(code));
|
||||
```
|
||||
|
||||
`b` повинне мати значення `7`.
|
||||
`b` повинна мати значення `7`.
|
||||
|
||||
```js
|
||||
assert(typeof b === 'number' && b === 7);
|
||||
```
|
||||
|
||||
`a` потрібно призначити `b` за допомогою `=`.
|
||||
`a` повинна бути присвоєною до `b` за допомогою `=`.
|
||||
|
||||
```js
|
||||
assert(/b\s*=\s*a\s*/g.test(code));
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: 56533eb9ac21ba0edf2244c3
|
||||
title: Призначення з поверненим значенням
|
||||
title: Присвоєння з поверненим значенням
|
||||
challengeType: 1
|
||||
videoUrl: 'https://scrimba.com/c/ce2pEtB'
|
||||
forumTopicId: 16658
|
||||
@@ -9,29 +9,29 @@ dashedName: assignment-with-a-returned-value
|
||||
|
||||
# --description--
|
||||
|
||||
If you'll recall from our discussion about <a href="/learn/javascript-algorithms-and-data-structures/basic-javascript/storing-values-with-the-assignment-operator" target="_blank" rel="noopener noreferrer nofollow">Storing Values with the Assignment Operator</a>, everything to the right of the equal sign is resolved before the value is assigned. Це означає, що ми можемо взяти повернене значення функції та присвоїти її змінній.
|
||||
If you'll recall from our discussion about <a href="/learn/javascript-algorithms-and-data-structures/basic-javascript/storing-values-with-the-assignment-operator" target="_blank" rel="noopener noreferrer nofollow">Storing Values with the Assignment Operator</a>, everything to the right of the equal sign is resolved before the value is assigned. Це означає, що ми можемо взяти повернене значення функції та присвоїти його змінній.
|
||||
|
||||
Припустимо, у нас уже є визначена функція `sum`, яка додає два числа, тоді:
|
||||
Припустимо, що ми вже визначили функцію `sum`, яка додає два числа, тоді:
|
||||
|
||||
```js
|
||||
ourSum = sum(5, 12);
|
||||
```
|
||||
|
||||
вона називатиметься функцією `sum`, яка повертає значення `17` і призначає її змінній `ourSum`.
|
||||
викличе функцію `sum`, яка поверне значення `17` та призначить його змінній `ourSum`.
|
||||
|
||||
# --instructions--
|
||||
|
||||
Назвіть функцію `processArg` з аргументом `7` і присвойте її повернене значення змінній `processed`.
|
||||
Викличте функцію `processArg` з аргументом `7` та присвойте її повернене значення до змінної `processed`.
|
||||
|
||||
# --hints--
|
||||
|
||||
`processed` повинне мати значення `2`
|
||||
`processed` повинна мати значення `2`
|
||||
|
||||
```js
|
||||
assert(processed === 2);
|
||||
```
|
||||
|
||||
`processArg` потрібно призначити `processed`
|
||||
Ви повинні присвоїти `processArg` до `processed`
|
||||
|
||||
```js
|
||||
assert(/processed\s*=\s*processArg\(\s*7\s*\)/.test(code));
|
||||
|
||||
@@ -13,7 +13,7 @@ dashedName: comparison-with-the-greater-than-or-equal-to-operator
|
||||
|
||||
Так само, як і оператор рівності, оператор "більше ніж дорівнює" конвертує типи даних під час їх порівняння.
|
||||
|
||||
**Наприклад**
|
||||
**Приклади**
|
||||
|
||||
```js
|
||||
6 >= 6 // true
|
||||
|
||||
@@ -11,7 +11,7 @@ dashedName: comparison-with-the-inequality-operator
|
||||
|
||||
Оператор "не дорівнює" (`!=`) є протилежним до оператора рівності. Це означає, що вирази не еквівалентні і що вони повернуться `false`, де рівність повернеться `true` і *навпаки*. Так само, як і оператор рівності, оператор "не дорівнює" конвертує типи даних під час їх порівняння.
|
||||
|
||||
**Наприклад**
|
||||
**Приклади**
|
||||
|
||||
```js
|
||||
1 != 2 // true
|
||||
|
||||
@@ -53,7 +53,7 @@ You should use the `--` operator on `myVar`.
|
||||
assert(/[-]{2}\s*myVar|myVar\s*[-]{2}/.test(code));
|
||||
```
|
||||
|
||||
You should not change code above the specified comment.
|
||||
Не змінюйте код над зазначеним коментарем.
|
||||
|
||||
```js
|
||||
assert(/let myVar = 11;/.test(code));
|
||||
|
||||
@@ -42,7 +42,7 @@ delete ourDog.bark;
|
||||
|
||||
# --instructions--
|
||||
|
||||
Видаліть властивість `tails` з `myDog`. Ви можете використовувати крапковий запис або запис квадратними дужками.
|
||||
Видаліть властивість `tails` з `myDog`. Ви можете використати точкову або дужкову нотацію.
|
||||
|
||||
# --hints--
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ assert(
|
||||
assert(/[+]{2}\s*myVar|myVar\s*[+]{2}/.test(code));
|
||||
```
|
||||
|
||||
Не слід змінювати код над зазначеним коментарем.
|
||||
Не змінюйте код над зазначеним коментарем.
|
||||
|
||||
```js
|
||||
assert(/let myVar = 87;/.test(code));
|
||||
|
||||
@@ -11,7 +11,7 @@ dashedName: modify-array-data-with-indexes
|
||||
|
||||
На відміну від рядків, записи масиву <dfn>можуть бути змінювані</dfn>, навіть якщо масив був оголошений з `const`.
|
||||
|
||||
**Наприклад:**
|
||||
**Приклад**
|
||||
|
||||
```js
|
||||
const ourArray = [50, 40, 30];
|
||||
|
||||
@@ -32,7 +32,7 @@ myVar = 5;
|
||||
|
||||
# --hints--
|
||||
|
||||
Не слід змінювати код над зазначеним коментарем.
|
||||
Не змінюйте код над зазначеним коментарем.
|
||||
|
||||
```js
|
||||
assert(/var a;/.test(code));
|
||||
|
||||
@@ -37,7 +37,7 @@ myStr = "Job";
|
||||
assert(myStr === 'Hello World');
|
||||
```
|
||||
|
||||
Не слід змінювати код над зазначеним коментарем.
|
||||
Не змінюйте код над зазначеним коментарем.
|
||||
|
||||
```js
|
||||
assert(/myStr = "Jello World"/.test(code));
|
||||
|
||||
@@ -26,7 +26,7 @@ const ourDog = {
|
||||
|
||||
# --instructions--
|
||||
|
||||
Оновити властивість імені об'єкта `myDog`. Змінімо його ім'я з `Coder` на `Happy Coder`. Ви можете використовувати точкову або крапкову нотацію.
|
||||
Оновити властивість імені об'єкта `myDog`. Змінімо його ім'я з `Coder` на `Happy Coder`. Ви можете використати точкову або дужкову нотацію.
|
||||
|
||||
# --hints--
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ dashedName: step-1
|
||||
|
||||
# --description--
|
||||
|
||||
JavaScript – це потужна мова, яка дозволяє створювати інтерактивні вебсайти. Для початку створіть стандартний шаблонний код HTML з `DOCTYPE`, `html`, `head` та `body`. Додайте елемент `title` та `link` до своєї таблиці стилів та тег `meta` до `charset`. Then, create a `div` element with `id` set to `game` within your `body`. Для елемента `title` використайте текст `RPG - Dragon Repeller`.
|
||||
JavaScript – це потужна мова, яка дозволяє створювати інтерактивні вебсайти. Для початку створіть стандартний шаблонний код HTML з `DOCTYPE`, `html`, `head` та `body`. Додайте елемент `title` та `link` до своєї таблиці стилів та тег `meta` до `charset`. Потім створіть елемент `div`, що має `id` зі значенням `game`, в межах `body`. Для елемента `title` використайте текст `RPG - Dragon Repeller`.
|
||||
|
||||
# --hints--
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ dashedName: step-6
|
||||
|
||||
# --hints--
|
||||
|
||||
Your `#monsterStats` element should have two `span` elements.
|
||||
Ваш елемент `#monsterStats` повинен мати два елементи `span`.
|
||||
|
||||
```js
|
||||
const spans = document.querySelectorAll(`#monsterStats > span`);
|
||||
|
||||
Reference in New Issue
Block a user