[解決済み] TypeScriptのタイプアサーションと新しい演算子であるas`の違いは何ですか?
2022-04-23 23:31:27
質問
TypeScriptの仕様では、タイプアサーションと呼ばれていますが、何か違いがあるのでしょうか?
var circle = <Circle> createShape("circle");
そして
新しい
as
演算子を使用します。
var circle = createShape("circle") as Circle;
どちらも、コンパイル時のキャスティングによく使われるものですね?
どのように解決するのですか?
その差は
as Circle
は TSX ファイルで動作しますが
<Circle>
はJSXの構文と矛盾する。
as
が導入されたのは、このためである。
例えば、以下のコードを
.tsx
ファイルを作成します。
var circle = <Circle> createShape("circle");
以下のようなエラーになります。
エラー TS17002: Circle'に対応する JSX 閉鎖タグが必要です。
しかし
as Circle
は問題なく動作します。
使用方法
as Circle
これからは それは
推奨
の構文があります。
関連
-
[解決済み】Typescriptで、! (エクスクラメーションマーク/バン)演算子でメンバを再参照するのは?
-
[解決済み] コンストラクタとngOnInitの違いについて
-
[解決済み] TypeScript で `window` に新しいプロパティを明示的に設定するにはどうすればよいですか?
-
[解決済み] reinterpret_castはいつ使うのか?
-
[解決済み] Angularの@Directiveと@Componentの比較
-
[解決済み] 'unknown' vs. 'any'
-
[解決済み] JSX.ElementとReactNodeとReactElementの使い分けは?
-
[解決済み] CLRのキャストと'as'キーワードの使用について
-
[解決済み] Typescriptエクスポートとデフォルトエクスポートの比較
-
[解決済み】pandasでカラムの種類を変更する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン