この小さなコードスニペットはan exampleで、Web Speech APIの使い方を示すもので、わかりにくいです。どのような奇妙なインターフェイスの実装はそれですか?
TypeScriptがインターフェイスを定義して処理する方法について、私は多くのことを尋ねましたが、同様のスタイルの構文を説明で見つけることができませんでした。
interface IWindow extends Window {
webkitSpeechRecognition: any;
SpeechRecognition: any;
}
...
const { webkitSpeechRecognition }: IWindow = <IWindow>window; // ??
const speechRecognition = new webkitSpeechRecognition(); // ??
...
私が解釈できない最後の2行です。もちろん、speechRecognitionはどういうわけかSpeechRecognitionインターフェイスになっていますが、私はそれがどうなったかは分かりません。これがうまく実装されているかどうかを知りたいのです。
そして、私はまた、どのようにこれが原因で、例えばwebkitSpeechRecognition対音声認識のためのベンダー接頭辞性質の問題を解決し、ことを知りたいのですが少し違った音声認識を定義するMozilla recommends:
var SpeechRecognition = SpeechRecognition || webkitSpeechRecognition;