Использование RxJS с фильтром (Boolean) для запросов? - PullRequest
0 голосов
/ 28 декабря 2018

Я читаю код с фрагментом:

search(query: string) {
  of(query).
  pipe(
    filter(Boolean), 
    debounceTime(300), 

Является ли filter(Boolean) по сути тем же, что и filter(v=>!!v)?

1 Ответ

0 голосов
/ 28 декабря 2018

Да, они одинаковы.

   console.log(typeof Boolean); // prints function
   console.log(Boolean.prototype.constructor("truthy")); // prints true
   console.log(Boolean === Boolean.prototype.constructor); // prints true

Глобальная ссылка Boolean указывает на функцию конструктора, которая возвращает логическое значение из первого аргумента.

Конструктор может бытьиспользуется для создания логического объекта-оболочки, но он не совпадает с примитивом true .

    console.log(new Boolean("truthy")); // prints an object.
    console.log(new Boolean("truthy").valueOf() === true); // prints true
    console.log((new Boolean("truthy")) === true); // prints false
    console.log(Boolean("truthy") === true); // prints true

Ссылка: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean

...