TypeScriptにおける、既存クラスの拡張
TypeScriptでAudioParam.cancelAndHoldAtTime()
のコンパイルを通したかったが、本家の型定義には追加されていないので、自分で拡張を行ったときのメモ。
declare global { interface AudioParam { cancelAndHoldAtTime(cancelTime: number): void } }
Declaration Merging · TypeScript
compiler merges two separate declarations declared with the same name into a single definition.
自分でAudioParam interfaceを追加すると、元々存在するAudioParam interfaceにマージされる。
You can also add declarations to the global scope from inside a module:
AuidoParamがglobal scopeにいるのでGlobal augmentationを使う