小编bra*_*kim的帖子

NodeJS:Duplex流和Transform流之间有什么区别?

所述流文档状态双工流 "是同时实现可读写接口流"和变换流 "是双相流其中输出以某种方式从输入计算".遗憾的是,文档没有描述Transform流在Duplex流之上和之外提供的内容.

这两者有什么不同吗?你什么时候用一个而不是另一个?

stream node.js

27
推荐指数
2
解决办法
9205
查看次数

AngularJS设计模式:我应该使用工厂来创建构造函数吗?

这是我在创建AngularJS应用程序时一直在考虑的事情.当我第一次了解AngularJS工厂时,我认为它们的一个巧妙用法是创建并返回构造函数而不是普通对象,即:

app.factory("Foo", function() {
  function Foo(bar, baz) {
    this.bar = bar;
    this.baz = baz;
    ...
  }

  Foo.prototype = {
    constructor: Foo,
    method1: function() { ... },
    method2: function() { ... },
    ...,
    methodn: function() { ... },
  };

  return Foo;
});
Run Code Online (Sandbox Code Playgroud)

然后,您可以将该功能注入您的控制器并调用它new.我发现这美观和OOP-y,但现在我开始认为它实际上是一种反模式.问题是当它在AngularJS感知上下文中工作时它可以正常工作,但是一旦你想要从控制台调用构造函数,在Web Worker中使用它,或者在非工作中重用代码AngularJS应用程序,你开始不得不解决 AngularJS而不是它.我开始怀疑这种方法是否被误导,因为javascript中的函数似乎已经是"单身人士"并且似乎不需要任何帮助实例化.

我滥用AngularJS工厂了吗?使用暴露于全局范围的构造函数会更好吗?更一般地说,是否存在促使AngularJS工厂/服务/提供商在全球对象上使用的特定因素,反之亦然?

javascript design-patterns angularjs

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

是否存在与单个字素簇匹配的正则表达式?

字素是文本的用户感知字符,用Unicode可以包含几个代码点。

Unicode®标准附件#29中

重要的是要认识到,用户认为的“字符”(一种语言的书写系统的基本单元)可能不仅仅是一个Unicode代码点。而是,该基本单元可以由多个Unicode代码点组成。为了避免与计算机对术语“字符”的使用产生歧义,将其称为用户可感知的字符。例如,“ G” +坟墓重音是用户感知的字符:用户将其视为单个字符,但实际上由两个Unicode代码点表示。这些用户感知的字符通过所谓的字素簇来近似,该字素簇可以通过编程确定。

我是否可以使用正则表达式(在javascript中)来匹配单个字素簇?例如

"???bar".match(/*?*/)[0] === "???"
"??baz".match(/*?*/)[0] === "??"
"aa".match(/*?*/)[0] === "a"
"\r\n".match(/*?*/)[0] === "\r\n"
"???foo".match(/*?*/)[0] === "???"
Run Code Online (Sandbox Code Playgroud)

javascript regex unicode

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

如何使用 package.json 中的 typesVersions 字段为较新的 TypeScript 版本提供更严格的类型?

根据TypeScript 3.1 发行说明typesVersions,TypeScript 提供了一种通过设置字段在 npm 包中传递更严格类型的方法,package.json如下所示:

{
  "name": "package-name",
  "version": "1.0",
  "types": "./index.d.ts",
  "typesVersions": {
    ">=3.1": { "*": ["ts3.1/*"] }
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,文档没有说明指定ts3.1/index.d.ts文件是如何创建的。我是否必须index.d.ts在此位置手动写入文件?有没有办法使用打字稿或相关的构建工具有条件地生成更严格的类型?

types build npm typescript

6
推荐指数
2
解决办法
8061
查看次数