toUpperCase() и toLowerCase(). Эти методы возвращают новую строку, не изменяя оригинальную.Пример:
const text = "Hello World";
console.log(text.toUpperCase()); // "HELLO WORLD"
console.log(text.toLowerCase()); // "hello world"
-
toUpperCase() преобразует все символы строки в верхний регистр.-
toLowerCase() преобразует все символы строки в нижний регистр.- Оба метода не изменяют исходную строку, а возвращают новую.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🤔2
.module.css.Пример использования:
import styles from './MyComponent.module.css';
function MyComponent() {
return <div className={styles.container}>Content</div>;
}
- Файл стилей
MyComponent.module.css должен содержать классы, например:
.container {
padding: 10px;
background: #fff;
}
- Классы из CSS-модуля доступны через объект
styles, что обеспечивает уникальность имен.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
<nonoscript> используется для отображения контента, если JavaScript отключен в браузере. Он позволяет предоставить альтернативное содержимое или сообщение для пользователей, которые не могут или не хотят использовать JavaScript.Пример:
<nonoscript>
<p>Please enable JavaScript to use this website.</p>
</nonoscript>
- Контент внутри
<nonoscript> отображается только при отключенном JavaScript.- Часто используется для информирования пользователей или предоставления базовой функциональности без JavaScript.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Для использования нужно обернуть целевую часть приложения в компонент
Profiler. Он принимает два пропа: id (идентификатор) и onRender (колбэк, срабатывающий после рендера).
<Profiler id="App" onRender={(id, phase, actualTime) => {
console.log(`${id} took ${actualTime}ms to render`);
}}>
<App />
</Profiler>
Колбэк
onRender получает параметры: id, phase (mount/update), actualTime (время рендера), baseTime (время без мемоизации). В DevTools React Profiler отображает flamegraph и ranked chart для анализа производительности. Инструмент полезен для оптимизации сложных компонентов.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤4🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
never в TypeScript обозначает значение, которое никогда не должно возникать. Он используется в ситуациях, когда функция не завершается нормально или когда переменная не может иметь значения. Функция, которая всегда выбрасывает ошибку или содержит бесконечный цикл, возвращает
never:
function throwError(message: string): never {
throw new Error(message);
}
Также
never полезен в exhaustive checks для обработки всех вариантов union-типа:
type Shape = 'circle' | 'square';
function handleShape(shape: Shape) {
switch (shape) {
case 'circle': return;
case 'square': return;
default: const _exhaustiveCheck: never = shape; // Ошибка, если Shape расширится
}
}
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
undefined.
function greet(name = 'Guest') {
return `Hello, ${name}!`;
}
Если вызвать
greet() без аргументов, name примет значение 'Guest'. Параметры по умолчанию могут быть любыми выражениями, включая вызовы функций.
function createUser(name, id = generateId()) {
return { name, id };
}
Значения по умолчанию вычисляются только в момент вызова функции, если соответствующий аргумент отсутствует.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
shape-outside определяет форму, вокруг которой будет обтекать текст или inline-элементы. Оно работает только с floated-элементами и позволяет создавать сложные текстовые обтекания.
.circle {
float: left;
shape-outside: circle(50%);
}
Доступные значения:
circle(), ellipse(), polygon(), url() (для SVG), а также margin-box, border-box. Форма влияет только на обтекание, не изменяя сам элемент. Для визуального соответствия формы элемента и
shape-outside часто используют clip-path с тем же значением.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
git reset. В зависимости от нужного результата применяются разные флаги:
git reset --hard HEAD~1
Полностью удаляет все изменения после указанного коммита (HEAD~1 — предыдущий коммит).
git reset --soft HEAD~1
Откатывает историю, но сохраняет изменения в staged-состоянии.
Для временного переключения на коммит без изменения истории используется
git checkout <hash>.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
<output> отображает результат вычислений или пользовательского ввода непосредственно в форме. Связывается с элементами формы через атрибут for или form, реагируя на изменения.
<form oninput="result.value = parseInt(a.value) + parseInt(b.value)">
<input type="number" id="a" name="a" value="10">
<input type="number" id="b" name="b" value="20">
<output name="result" for="a b">30</output>
</form>
Значение
output динамически обновляется при изменении связанных полей. Может использоваться с JavaScript для сложных операций.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥3❤1💯1
unknown и any позволяют обходить проверку типов, но работают по-разному. Тип
any отключает проверку типов полностью. Переменная с типом any может быть присвоена куда угодно, и с ней можно выполнять любые операции без ошибок компиляции.
let value: any = "hello";
value = 42; // OK
value.foo(); // OK (но вызовет ошибку в runtime)
Тип
unknown безопаснее. Переменная с типом unknown не может быть использована без явного приведения типа или проверки.
let value: unknown = "hello";
value = 42; // OK
value.foo(); // Ошибка компиляции
if (typeof value === "string") {
console.log(value.toUpperCase()); // OK после проверки
}
Использование
unknown требует дополнительных проверок, что делает код безопаснее. any следует избегать, так как он лишает TypeScript главного преимущества — статической типизации.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
| и могут быть использованы в mustache-синтаксисе или v-bind.
// Регистрация фильтра
Vue.filter('capitalize', function(value) {
if (!value) return '';
return value.toString().toUpperCase();
});
<!-- Использование в шаблоне -->
<p>{{ message | capitalize }}</p>
Фильтры можно объединять в цепочки ({{ text | filterA | filterB }}) и передавать аргументы ({{ date | format('YYYY-MM-DD') }}). Во Vue 3 фильтры удалены в пользу вызовов методов или вычисляемых свойств.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
box-sizing определяет, как рассчитываются ширина и высота элемента — включая или исключая padding и border. Основные значения:
-
content-box (по умолчанию) — width/height задают размер содержимого, padding и border добавляются к общим размерам. -
border-box — width/height включают padding и border, упрощая расчеты макета.
.box {
box-sizing: border-box; /* padding и border входят в общую ширину */
}
Использование
border-box делает верстку более предсказуемой, так как размеры элемента не меняются при добавлении отступов или рамок.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Основные функции:
- Фиксация изменений (коммиты) с возможностью отката
- Ветвление (branches) для параллельной разработки
- Слияние изменений (merge) из разных веток
- Удалённая работа через репозитории (push/pull)
git commit -m "Add new feature"
Позволяет эффективно управлять историей кода, координировать работу команды и минимизировать конфликты при совместной разработке.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3