Я всегда считал, что slice
чисто, и его единственным преимуществом перед вызовом slice
метода для строки или массива является механизм кэширования чистых каналов в Angular.
Оказывается, это неслучай и slice
нечист.Более того, реализация очень проста: она защищает от null
s и делегирует методу slice
.Нет внутреннего сравнения последнего преобразованного входа.
Я подозреваю, что он предназначен для соответствия поведению ngFor
, но является ли это жизнеспособной причиной?Новички будут жаловаться, что Angular не работает в противном случае, я полагаю, но опять же, зачем мне использовать этот канал?
Правильно ли я понимаю, что он создает новые массивы при каждом запуске обнаружения изменений, что приводит кзапускать даже OnPush
обнаружение изменений на три и сводить на нет оптимизацию производительности?
Редактировать: Этот вопрос основан на предположении, что следует использовать неизменные данные.