Mar*_*arc 6 haskell types typescript
在 Haskell 中,我们可以声明允许我们隐藏对底层数据类型的访问的新类型。这允许我们通过不暴露底层数组之类的东西(使库的用户不可能越界)来在模块中创建更安全的 API。
打字稿中是否有类似于 newtypes 的东西?
作为后续,还有另一种方法可以引入类似于新类型的东西。
您可以执行以下操作:
type Seed = number & {readonly Seed: unique symbol}
const createSeed = randomNumberBetween0And1() as Seed
const doSomethingWithSeed = (s: Seed) => {...}
doSomethingWithSeed(1) // will complain
doSomethingWithSeed(createSeed()) // Will not complain
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
826 次 |
最近记录: |