Пересечения типов (intersection types) в TypeScript позволяют комбинировать несколько типов в один. Это полезно, когда требуется объект, который должен удовлетворять нескольким типам одновременно. Пересечения типов создаются с помощью оператора
&.Когда используется пересечение типов, объект должен содержать все свойства и методы всех типов, участвующих в пересечении.
Пример использования пересечения типов:
type Person = {
name: string;
age: number;
};
type Employee = {
employeeId: number;
};
type EmployeePerson = Person & Employee;
const employee: EmployeePerson = {
name: "John",
age: 30,
employeeId: 1234
};
В этом примере
EmployeePerson объединяет свойства Person и Employee, и объект employee должен содержать все эти свойства. Пересечения типов позволяют создавать более гибкие структуры данных.Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2✍1
Атрибут
hidden в HTML используется для скрытия элементов на веб-странице. Когда элемент имеет этот атрибут, он не отображается пользователю и не занимает места в документе. Это полезно для временного скрытия контента, который может быть показан позже с помощью JavaScript.Пример использования атрибута
hidden:
<div hidden>
Этот текст скрыт и не будет виден на странице.
</div>
Чтобы показать скрытый элемент, можно удалить атрибут
hidden с помощью JavaScript:
const element = document.querySelector('div');
element.hidden = false; // Показывает элемент
Атрибут
hidden отличается от CSS-свойства display: none; тем, что он является семантическим и может быть использован для указания на то, что элемент временно скрыт.Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥2💯2❤1
Градиенты позволяют создавать плавные переходы между двумя или более цветами. Они могут быть линейными или радиальными, что дает возможность создавать разнообразные визуальные эффекты без использования изображений.
Линейный градиент создается с помощью функции
linear-gradient(). Можно задать направление и указать цвета:
background: linear-gradient(to right, red, blue);
В этом примере градиент переходит от красного к синему слева направо.
Радиальный градиент создается с помощью функции
radial-gradient(), где цвета расходятся от центра:
background: radial-gradient(circle, yellow, green);
Здесь градиент начинается с желтого в центре и переходит в зеленый.
Градиенты позволяют добавлять глубину и стиль к элементам, улучшая визуальное восприятие страницы.
Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13✍1🔥1
Порталы в React позволяют рендерить дочерние элементы в DOM-узел, который находится вне иерархии родительского компонента. Это полезно для создания модальных окон, всплывающих подсказок и других элементов, которые должны быть отделены от основного DOM-дерева.
Для создания портала используется метод
ReactDOM.createPortal(), который принимает два аргумента: элемент React и целевой DOM-узел.Пример использования портала:
import ReactDOM from 'react-dom';
function Modal({ children }) {
return ReactDOM.createPortal(
<div className="modal">
{children}
</div>,
document.getElementById('modal-root')
);
}
Здесь
Modal рендерит свои дочерние элементы в элемент с ID modal-root, который находится вне основного контейнера приложения. Порталы позволяют управлять элементами, сохраняя их стили и поведение в контексте React.Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤4⚡1
Для встраивания аудио на HTML-страницу используется тег
Пример использования:
Атрибут
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
<audio>. Этот тег позволяет воспроизводить аудиофайлы непосредственно в браузере. Пример использования:
<audio controls>
<source src="audio-file.mp3" type="audio/mpeg">
Ваш браузер не поддерживает элемент <code>audio</code>.
</audio>
Атрибут
controls добавляет элементы управления воспроизведением, такие как кнопки воспроизведения и паузы. Внутри тега <audio> можно использовать несколько <source> для указания разных форматов аудио, обеспечивая кроссбраузерную совместимость.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤3🔥1💯1
calc() в CSS используется для выполнения математических вычислений непосредственно в стилях. Оно позволяет комбинировать различные единицы измерения, такие как проценты, пиксели, em и другие, для более гибкой настройки размеров элементов.Пример использования:
.element {
width: calc(100% - 50px);
}В этом примере ширина элемента вычисляется как 100% от родительского элемента минус 50 пикселей.
calc() поддерживает операции сложения +, вычитания -, умножения * и деления /. Между операторами и операндами обязательно должны быть пробелы.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤3🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
Методы
1⃣
2⃣
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
map и forEach используются для работы с массивами.map создает новый массив, применяя функцию к каждому элементу исходного массива. Он возвращает новый массив с результатами вызова функции для каждого элемента. Пример:const numbers = [1, 2, 3];
const doubled = numbers.map(num => num * 2); // [2, 4, 6]
forEach выполняет функцию для каждого элемента массива, но не возвращает новый массив. Он используется для выполнения операций, которые не требуют возврата значений. Пример:const numbers = [1, 2, 3];
numbers.forEach(num => console.log(num)); // Выводит 1, 2, 3
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤2🔥2
Синтаксис:
const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12⚡2
<table>, который содержит строки <tr>, ячейки заголовков <th> и ячейки данных <td>. <table>
<thead>
<tr>
<th>Name</th>
<th>Age</th>
</tr>
</thead>
<tbody>
<tr>
<td>Alice</td>
<td>30</td>
</tr>
<tr>
<td>Bob</td>
<td>25</td>
</tr>
</tbody>
</table>
Здесь
<thead> используется для заголовка таблицы, а <tbody> для основного содержимого.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14💯4⚡2
Типы void и never в TypeScript имеют принципиальные различия.
1⃣ void используется для функций, которые не возвращают значение. При этом функция с типом void может вернуть undefined или выполнить какое-то действие без возврата значения.
2⃣ never представляет значения, которые никогда не могут произойти. Функция с типом never никогда не завершит свое выполнение нормально - она либо выбросит ошибку, либо будет выполняться бесконечно.
Пример void:
Пример never:
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
Пример void:
function logMessage(): void {
console.log("Hello");
}Пример never:
function throwError(): never {
throw new Error("Something went wrong");
}Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥4❤1
Spread operator (оператор расширения) - это синтаксис с тремя точками (...), который позволяет "распаковать" элементы массива или свойства объекта.
⏩ С массивами:
⏩ С объектами:
⏩ Spread также удобен для создания копий массивов и объектов, передачи аргументов в функции:
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
const numbers = [1, 2, 3];
const newNumbers = [...numbers, 4, 5]; // [1, 2, 3, 4, 5]
const person = { name: 'John' };
const details = { age: 30 };
const fullPerson = { ...person, ...details }; // { name: 'John', age: 30 }const copy = [...array];
Math.max(...numbers);
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥2
Обычно сброс включает в себя обнуление отступов, полей, размеров шрифтов и других свойств. Это позволяет разработчикам начинать с чистого листа и задавать стили, которые будут одинаково отображаться во всех браузерах.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3❤2
git branch <имя_ветки>. Это создаст новую ветку с указанным именем, но не переключит на неё.git checkout -b <имя_ветки>. Эта команда создаёт ветку и делает её текущей.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥3👀1
При вызове
useState передается начальное значение состояния. Важно помнить, что обновление состояния асинхронно и может быть объединено с другими обновлениями.import React, { useState } from 'react';
function Counter() {
const [count, setCount] = useState(0);
return (
<div>
<p>Счетчик: {count}</p>
<button onClick={() => setCount(count + 1)}>Увеличить</button>
</div>
);
}useState инициализирует состояние count значением 0. Функция setCount обновляет это состояние при нажатии на кнопку.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤4🔥2
В HTML-формах атрибуты
1⃣ Атрибут
2⃣ Атрибут
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
action и method играют ключевую роль в определении поведения формы при отправке данных.action указывает URL, куда будут отправлены данные формы. Это может быть скрипт или API, который обработает полученные данные.method определяет HTTP-метод, используемый для отправки данных. Чаще всего используются методы GET и POST. GET отправляет данные в URL-строке, а POST — в теле запроса.<form action="/submit" method="post">
<input type="text" name="username">
<button type="submit">Отправить</button>
</form>
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥1
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥2❤1
Пример простого компонента на Vue.js:
Vue.component('example-component', {
template: '<div>Hello, Vue!</div>'
});Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3
Функция — это блок кода, предназначенный для выполнения определенной задачи. Использование функций улучшает читаемость и повторное использование кода.
Объявление функции в JavaScript можно осуществить несколькими способами:
1⃣ Функциональное объявление:
2⃣ Функциональное выражение:
3⃣ Стрелочная функция:
🟥 Каждый из этих методов позволяет создавать функции, которые можно вызывать с разными аргументами для выполнения заданных действий.
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
Объявление функции в JavaScript можно осуществить несколькими способами:
function greet(name) {
return `Hello, ${name}!`;
}
const greet = function(name) {
return
Hello, ${name}!;
};
const greet = (name) =>
Hello, ${name}!;Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤3🤔2
React.createElement(). Например, <div>Hello</div> преобразуется в React.createElement('div', null, 'Hello'). Это позволяет React создавать виртуальное DOM-дерево, оптимизируя обновления реального DOM. JSX поддерживает JavaScript-выражения внутри фигурных скобок {}.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥4❤2
margin-top, margin-right, margin-bottom, margin-left, или с помощью сокращенной записи margin, где значения указываются по часовой стрелке, начиная с верхнего отступа..element {
margin: 10px 20px 15px 5px; /* top, right, bottom, left */
}Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤4