小编sli*_*ype的帖子

具有高阶函数的字符串方法

尝试使用具有高阶函数的String方法时,我遇到了一个奇怪的事情.这会抛出一个错误:

['a', 'b'].some('boo'.includes)
Run Code Online (Sandbox Code Playgroud)

我必须将谓词包装在另一个函数中以使其工作.但是还不'boo'.includes是一个功能?

这适用于普通函数:

const boo = {
    includes: () => true
};

['a', 'b'].some(boo.includes)
Run Code Online (Sandbox Code Playgroud)

是否有一些String方法的特殊属性阻止它们像这样组成?

javascript

12
推荐指数
1
解决办法
377
查看次数

MutationObserver类更改

MutationObserver用来检测何时将特定类添加到元素中。

const observer = new MutationObserver((mutations) => { 
    mutations.forEach((mutation) => {
      const el = mutation.target;
      if ((!mutation.oldValue || !mutation.oldValue.match(/\bis-busy\b/)) 
        && mutation.target.classList 
        && mutation.target.classList.contains('is-busy')){
        alert('is-busy class added');
      }
    });
 });

observer.observe(document.querySelector('div'), { 
  attributes: true, 
  attributeOldValue: true, 
  attributeFilter: ['class'] 
});
Run Code Online (Sandbox Code Playgroud)

我的问题是:是否有更好的方法来验证这是一个新添加的类?目前,我正在使用正则表达式检查该类以前是否不存在,并classList检查该类现在是否存在。看起来很杂乱

小提琴

javascript mutation-observers

6
推荐指数
1
解决办法
4370
查看次数

摇树 sass

我有一个包含许多旧/未使用的 SCSS 文件的大型项目。有什么方法可以使用node-sasslibsass来摇动或删除编译中未使用的所有文件?

或者有没有办法简单地输出编译中使用的所有文件的列表,以便我可以交叉引用?

编辑:虽然似乎有解决方案可以从sass 构建的输出中删除未使用的样式,但我仍然没有看到一种有效的方法来删除未使用的输入文件

javascript sass node.js

5
推荐指数
1
解决办法
2056
查看次数

Typescript ReturnType with nested functions

我试图用来ReturnType生成一种类型,该类型取决于生活在一个对象上的函数的返回类型。

这是对象:

const foo = {
  bar: (): number => 1,
  quux: (): string => 'a',
};
Run Code Online (Sandbox Code Playgroud)

所需的结果类型为:

type FooLeaves = {
  bar: number;
  quux: string;
};
Run Code Online (Sandbox Code Playgroud)

是否可以将a ResultType应用于对象的值,以便将返回类型从嵌套函数中拉出?

我想我可以调用每个值并采用它的类型,但这似乎很客气

typescript

4
推荐指数
1
解决办法
78
查看次数

为什么'abc'.hasOwnProperty('length')== true

在这种情况下,请帮助我理解原型继承:

为什么'abc'.hasOwnProperty('length')返回true但'length' in 'abc'会抛出错误?

javascript prototype prototypal-inheritance

2
推荐指数
1
解决办法
81
查看次数

输入不符合弹性容器的宽度

input在Chrome的flex容器中有一个容器,除非我添加,否则它不尊重容器的宽度min-width: 0。这似乎在IE中正常工作。

这里发生了什么?

.input-with-button {
  display: flex;
  width: 100px;
  border: 5px solid blue;
  margin-bottom: 10px;
}

.input-with-button input {
  flex-basis: 100%;
}
Run Code Online (Sandbox Code Playgroud)
<div class='input-with-button'>
  <div>Test</div>
</div>

<div class='input-with-button'>
  <input>
</div>
Run Code Online (Sandbox Code Playgroud)

css css3 flexbox

1
推荐指数
1
解决办法
1421
查看次数