Size: a a a

JavaScript — русскоговорящее сообщество

2021 October 20

A

Alexey Pushkarev 🐘... in JavaScript — русскоговорящее сообщество
спасибо)))
источник

OP

Oleg P in JavaScript — русскоговорящее сообщество
Доброго!

Нужен Ваш совет как сделать функцию максимально ЧИСТОЙ. Функция unset() {} в теле имеет такой код (скрин):

Как видно есть жесткая зависимость от текущего контекста.

Хочу переиспользовать эту функцию из другого места. Решение с передачей значений (подчеркнуты красным) через параметры - так себе решение.

Как можно решать эту задачу?
источник

DP

Den Pol in JavaScript — русскоговорящее сообщество
передать контекст в аргументе?
источник

DP

Den Pol in JavaScript — русскоговорящее сообщество
ну либо вызывать через call
источник

OP

Oleg P in JavaScript — русскоговорящее сообщество
передать контекст того класса - где все это лежит? зайти через класс или как?  unset.bind(ClassName)?
источник

OP

Oleg P in JavaScript — русскоговорящее сообщество
изначально функция лежит в классе:
export class ObjectToolsComponent implements OnChanges, OnDestroy {
   public unset() {}
}
источник

OP

Oleg P in JavaScript — русскоговорящее сообщество
может вынести все в отдельный класс?
источник

DP

Den Pol in JavaScript — русскоговорящее сообщество
не. я думаю в конструкторе можно объявлять

this.unset = unset.bind(this)
источник

DP

Den Pol in JavaScript — русскоговорящее сообщество
а функцию unset вынести как есть
источник

OP

Oleg P in JavaScript — русскоговорящее сообщество
не совсем понимаю как передать контекст ObjectToolsComponent в unset()
источник

OP

Oleg P in JavaScript — русскоговорящее сообщество
или функцию вынести вообще из этого класса?
источник

DP

Den Pol in JavaScript — русскоговорящее сообщество
bind назначит контекст.

```
import { unset } from '~/utils/unset'

class A {
 constructor() {
   this.unset = unset.bind(this)
 }
}

class B {
 constructor() {
   this.unset = unset.bind(this)
 }
}
```
источник

OP

Oleg P in JavaScript — русскоговорящее сообщество
откуда импортнули unset?
источник

OP

Oleg P in JavaScript — русскоговорящее сообщество
у меня unset  это метод класса - не отдельная export функция
источник

A

Alex in JavaScript — русскоговорящее сообщество
подскажите как можно вставить в код .groovy цвет текста, код:
def markdownText = "<b>Impact statement:</b><br/>"
пробовал добавлять
<span style="color:red">red text</span>
<p style="color:red;"> </p>

не работает(
источник

DP

Den Pol in JavaScript — русскоговорящее сообщество
ну в ней много методов используется - либо выносить в утилиты каждый из них, либо передавать контекст в аргументе, либо bind.
источник

OP

Oleg P in JavaScript — русскоговорящее сообщество
так во вопрос как педеать контекст this на ObjectToolsComponent в функции unset() ?
источник

OP

Oleg P in JavaScript — русскоговорящее сообщество
из другого места
источник

ГЩ

Глеб Щукин in JavaScript — русскоговорящее сообщество
@Directive()
export abstract class MyClassWithUnsetMethod {}

@Component()
export class MyComponent extends MyClassWithUnsetMethod {}
источник

S

Sid in JavaScript — русскоговорящее сообщество
regexp например
источник