any any 型

最終更新:2026-10-22

any any 型

any は「型チェックを放棄する」ことを意味します。どんな値もそれに代入でき、それ自身もどんな型にも代入できます。古い JS の移行や本当に未知の構造の処理には使えますが、その後のすべての操作に対してコンパイラは沈黙します。

グループ基本型
種類型
strict モード不要

ℹ️ 説明 エディタは TypeScript を JavaScript にトランスパイルして実行します(型チェックなし)。型チェック結果は各サンプルの出力を参照してください。

📝 構文

let data: any = JSON.parse(text);
data.whatever.method(); // コンパイルエラーにならない

⚙️ パラメータ

noImplicitAnyコンパイラオプション。「型も書かれず推論もされない」ことで生じる暗黙の any を検出します。有効化を推奨します

戻り値:戻り値はありません。any は型注釈であり、その「機能」こそが型レベルのチェックを無効にすることです。

▶ サンプル

下のコードを編集して「試す」を押すと、トランスパイル実行結果を確認できます:

出力:

4 Ada

(トランスパイル後の実行出力。payload.level を誤って payload.lvel と書いてもコンパイル時にはエラーにならず、実行時に NaN が得られます)

💡 ポイント

⚠️ 注意 any は代入の連鎖に沿って「伝染」します。any の値が関わるすべての式からチェックが失われ、タイプミスや null ポインタは実行時まで暴発しません。
💡 ヒント 未知のデータはまず unknown で受け取り、その後に絞り込むのが any よりはるかに安全です。両者の代入方向の比較は unknown の項目を参照してください。
ℹ️ 説明 明示的な any と暗黙的な any は異なります。後者は「型も書かれず推論もされない」ことで生じ、noImplicitAny を有効にすればすべて検出できます。
ケースは今後追加予定です。

📚 関連チュートリアル

❓ よくある質問

Q any と unknown の違いは何ですか?
A どの値も両方に代入できます。違いは「使い方」にあります。any は直接どんな操作もでき、unknown は先に絞り込むかアサートしなければなりません。unknown は安全な any です。
Q any を使わざるを得ないのはどんなときですか?
A 「使わざるを得ない」場面はほとんどありません。迅速な移行や型のないサードパーティライブラリでは一時的に使えますが、すぐに型を補うか unknown に置き換えるべきです。mainline にコミットされる新しい any は review で止めるべきです。
Q チームで any の使用をどう制限しますか?
A 3 点セットです。tsconfig で strict(noImplicitAny を含む)を有効にする。ESLint で @typescript-eslint/no-explicit-any を有効にする。code review では any を警告レベルの変更として扱う。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%