blog.bouzuya.net

2021-02-25 TypeScript の unique symbol を使った型

declare const myStringSymbol: unique symbol;
export type MyString = string & { [myStringSymbol]: never };
export function newMyString(s: string): MyString | null {
  // ... // return null if s is invalid
  return s as MyString;
}

TypeScript (JavaScript) は Kotlin や C# にあるような拡張メソッドっぽいことができないんだよな……。もちろん無理やり突っ込めばいいんだけどそういうことじゃなくて……。結局 RxJS は pipe みたいなメソッドでごまかしたんだっけ……。 pipeline operator (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Pipeline_operator) は入りそうにないし……。


今日のコミット