
При изучении проектирования компонентов один из рекомендуемых советов - никогда не изменять входные свойства.
Давайте рассмотрим пример ниже. (Я использую Angular, но то же самое может быть применимо и к другим фреймворкам).
@Component({…})
class MyComponent {
@Input() status: Status[];
get sortedStatus() {
return this.status.sort();
}
}Здесь sort является изменяемой операцией. Она не только сортирует массив, но и изменяет его.
Сортировка массива из дочернего компонента сортирует массив и он отражается в родительском компоненте.
Мы можем предотвратить такое поведение, используя **ReadonlyArray**.

Этот интерфейс убирает все изменяемые операции, такие как _push, pop, shift, unshift_, а также _sort_.

20.08.2023 18:21
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в 2026-2027 годах? Или это полная лажа?".

20.08.2023 17:46
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.

19.08.2023 18:39
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в частности, магию поплавков и гибкость flexbox.
19.08.2023 17:22
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для чтения благодаря своей простоте. Кроме того, мы всегда хотим проверить самые последние возможности в наших проектах!

18.08.2023 20:33
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий их языку и культуре.

14.08.2023 14:49
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип предназначен для представления неделимого значения.