モチタン辞典 › 読みもの › 英語の言い方 › プログラムでの有無を表す英語

プログラムでの「有無」の英語表現と命名規則
プログラムで「〜の有無」を表す際、名詞の直訳である presence や existence を変数名にそのまま使うのは不自然です。真偽値(boolean)なら所有・内包を表す has...、属性・状態を表す is...、存在判定なら exists... のように、文脈と役割に合わせて助動詞や動詞を組み合わせるのが標準的な命名規則です。
プログラムでの有無の結論と基本原則
ソースコードやシステム設計において、日本語の「有無」を一対一で英訳しようとすると設計が破綻しやすくなります。英語圏のプログラミングでは、対象が「真偽値フラグ」なのか「DBカラム・APIプロパティ」なのか「仕様書・関数の説明文」なのかによって、選ぶべき品詞と構文が明確に分かれています。
最も重要な原則は、真偽値(boolean)には名詞ではなく助動詞や動詞を使うという点です。辞書を引くと「有無」の訳語として presence or absence や existence が出てきますが、コード内で user_presence_flag のような名詞の羅列をすると、何が true で何が false なのかが直感的に伝わらなくなります。
以下の3つの用途に分けて考えると、適切な英語がすぐに定まります。
- boolean型の変数・プロパティ:has...、is...、exists... などの接頭辞を用いる
- データベースのカラム名・JSONキー:スネークケースやキャメルケースに応じた統一フラグ名(例:has_attachment、is_active)
- 仕様書・関数名・コメント:check whether... や presence of... などの文や名詞句を用いる
boolean変数
- has...
- is...
- exists...
DBカラム・JSON
- has_attachment
- is_active
仕様書・コメント
- check whether...
- presence of...
用途を3つに分類し、適した品詞や接頭辞を使い分けます。
次の疑問コード以外の一般的な英文でも使い分けたいときは、「有無」を表す英語表現のまとめを確認すると整理しやすくなります。
boolean変数の命名パターンと使い分け
真偽値(boolean型)の変数名で「有無」を表す場合、主に has、is、exists の3つを使い分けます。それぞれの選択基準は文法的な意味に基づいています。
1. 所有・内包の有無を表す「has〜」
オブジェクトや対象が「何かを持っているか」「中に含んでいるか」という有無を表す場合は、has + 名詞 または has + 過去分詞 を使います。
- hasDiscount(割引があるか)
- hasError(エラーの有無)
- hasChildren(子要素があるか)
- hasPermission(権限があるか)
2. 属性・状態の有無を表す「is〜」
対象そのものが「ある状態になっているか」「その属性を備えているか」を表す場合は、is + 形容詞 または is + 名詞 を使います。「所有」ではなく「主語そのものの状態」である点が has との違いです。
- isValid(有効性の有無/有効かどうか)
- isVisible(表示の有無/可視かどうか)
- isAvailable(利用可能かどうかの有無)
- isAdmin(管理者権限の有無/管理者かどうか)
3. 実体の存在・未存在を表す「exists〜」
ファイル、レコード、リソースが「システム上に実体として存在しているか」という有無を判定する場合は、exists を動詞のまま用いるか、exists + 名詞 の形を取ります。
- exists(対象が存在するかどうか)
- fileExists(ファイルが存在するかどうか)
- userExists(ユーザーが存在するかどうか)
表は横にスクロールできます →
| 接頭辞 | 文法構造 | 意味合い | 変数名の例 |
|---|---|---|---|
| has | has + 名詞 | 所有・内包の有無 | hasOption, hasAttachment |
| is | is + 形容詞 | 状態・属性の有無 | isEnabled, isCompleted |
| exists | 動詞 または 名詞 + exists | 実体・配置の有無 | exists, recordExists |
| with | with + 名詞 | 付随・同梱の有無(設定など) | withCredentials, withBorder |
DBカラム名とAPIでの有無の命名規則
データベース(RDB)のテーブル定義やAPIのJSONレスポンスにおいて、有無を表すフラグを命名する際も統一基準が必要です。環境やフレームワークの慣例に応じて、キャメルケース(camelCase)またはスネークケース(snake_case)を適用します。
DBカラムの推奨パターン
リレーショナルデータベースではスネークケースが多用されます。型は BOOLEAN または TINYINT(1) に設定し、接頭辞に has_ や is_ を置くのが標準的です。
- has_license(ライセンス保持の有無)
- has_shipping_address(配送先住所登録の有無)
- is_deleted(論理削除の有無)
- is_subscribed(定期購読の有無)
単独の名詞を避けるべき理由
カラム名に discount や coupon のような単一の名詞を使ってフラグ値(0または1)を格納すると、数値(割引額)が入るのか、文字列(クーポンコード)が入るのか、真偽値(クーポンの有無)なのかが判別できません。
必ず has_coupon や is_discounted のように真偽値であることが伝わる名詞句・助動詞を付与します。
JSONレスポンスの例
Web APIのレスポンスボディでも同様です。フロントエンド側で条件分岐(if (data.hasItem))にそのまま流し込める命名が好まれます。
英語の言い方は、話して覚えよう。会話アプリ「モチスピ」英語を話して練習できる会話アプリ。話すたびに、発音・文法・自然さをその場で直してもらえます。無料で試す
有無を判定する関数・メソッドの命名パターン
「有無をチェックする」「有無を判定して真偽値を返す」関数やメソッドの命名にも、広く認知されている定番の語順があります。
真偽値(boolean)を返す判定メソッド
戻り値が true または false であるメソッドは、変数名と同様に助動詞で始めるのがデファクトスタンダードです。メソッドを読むだけで「はい/いいえ」で答えられる疑問文の形になります。
- hasPermission()(権限があるかを判定)
- isAuthenticated()(認証されているかを判定)
- exists()(データが存在するかを判定)
- contains(item)(指定要素を含んでいるかを判定)
検証を行い例外を投げる、または処理を実行するメソッド
単に判定値を返すだけでなく、有無を確認してエラーハンドリングを行ったり、処理を進めたりする関数には動詞 check、validate、verify、ensure を用います。
- checkExistence(userId)(ユーザーの存在有無を確認する)
- validatePresence(params)(必須パラメータの有無を検証する)
- ensureRecordExists(id)(レコードの存在を保証する・なければ例外を投げる)
真偽値を返す判定メソッド
- 助動詞で開始する
- 疑問文形式で表現する
- hasPermission()
- exists()
検証・処理を行うメソッド
- 動作を表す動詞を使う
- 例外送出や処理継続を行う
- validatePresence()
- ensureRecordExists()
真偽値を返すか、例外送出や処理を伴うかで動詞の使い方が分かれます。

次の疑問命名の前提となる概念自体を再確認したい場合は、メソッドの基本的な意味と使い方をおさらいしておくと理解が深まります。
有無を表す英語の名詞の使い分けと適用箇所
変数名ではなく、ログ出力のメッセージ、APIドキュメント、設計書の項目名などで「有無」という名詞を使いたい場合があります。英語には「有無」に該当する名詞が複数あり、それぞれニュアンスが異なります。
| 単語 | ニュアンス・核となる意味 | プログラミングでの適用箇所 |
|---|---|---|
| presence | その場にあること、出席、実在 | 必須項目の入力有無、物理的・空間的な存在 |
| absence | 不在、欠落、ないこと(presenceの対義語) | 値の欠損確認、非存在の検証 |
| existence | 存在そのもの(概念的・永続的) | DBレコードやファイルの存在チェック |
| availability | 利用可能性、空きがあること | サーバーの稼働状態、在庫の有無、予約枠 |
| status | 状態、状況(有無を含んだ上位概念) | 処理状況、各種ステータスコード |
使い分けの具体例:
- presence: バリデーションライブラリでよく見られる「値が入力されていること」の検証には validates_presence_of のように使われます。
- availability: 「商品の有無」を単にある・なしだけでなく「購入可能か」という意味で表すなら、presence ではなく availability や stock status が自然です。
- existence: 「ファイルが存在するか」という物理的・論理的な実在確認には check the existence of the file が適しています。
仕様書やコメントで使える有無の英語フレーズ
設計書、要件定義書、ソースコード内のコメント、コミットメッセージで「〜の有無を確認する」「〜の有無に応じて処理を分ける」と書く際に役立つ定型表現です。
1. 「〜の有無を確認・判定する」
- Check whether the token exists.(トークンの有無を確認する。)
- Verify the presence of required parameters.(必須パラメータの有無を検証する。)
- Determine if the user has administrative privileges.(ユーザーに管理者権限の有無を判定する。)
日常的なコードコメントでは、whether or not よりも簡潔な whether や if が好まれます。
2. 「〜の有無に応じて」
- Depending on the presence or absence of the cache, ...(キャッシュの有無に応じて…)
- Based on whether the file exists, execute the following.(ファイルの有無に基づいて、以下を実行する。)
- According to the availability of the service, ...(サービスの稼働・利用枠の有無に応じて…)
3. 「有無にかかわらず」
- Regardless of whether the option is enabled or not.(オプションの有無にかかわらず。)
- Regardless of the presence of errors, proceed to the next step.(エラーの有無にかかわらず、次のステップへ進む。)
Check whether や Verify the presence of を用いる
Depending on the presence や Based on whether を用いる
Regardless of whether や Regardless of the presence を用いる
有無の確認や条件分岐で頻出する英語表現のパターンです。
初心者がやりがちなNG命名例と改善策
プログラムで有無を表現する際、可読性や保守性を著しく下げるアンチパターンがいくつかあります。以下の例を避けるだけでもコードの品質が向上します。
1. 単語を直訳して「flag」を付ける
presence_flag は「何の存在を表しているか」が主語欠落により不明瞭になりがちです。また _flag というサフィックスは現代のオブジェクト指向や型システムでは冗長とされることが多く、助動詞で始める表現が好まれます。
2. 二重否定を生み出す否定形のフラグ名
- NG: isNotFound / hasNoPermission
- 改善: isFound / hasPermission
否定形を変数名にすると、条件分岐で「ない場合」を評価する際に if (!isNotFound) や if (!hasNoPermission) のように否定演算子(!)と打ち消し合って二重否定になり、バグの温床になります。原則として肯定形(ポジティブ)で命名し、判定時に否定します。
3. 品詞の不一致
- NG: isHasDiscount / hasValid
- 改善: hasDiscount / isValid
助動詞 is の後ろに動詞の原形 has を重ねたり、has の後ろに形容詞 valid を置くのは文法的に誤りです。is + 形容詞(isValid)、has + 名詞(hasDiscount) の規則をチーム内で統一することが重要です。
presence_flag ではなく hasValue や exists を選ぶ
二重否定を防ぐため isNotFound ではなく isFound にする
isHasDiscount を避け is+形容詞 や has+名詞 を守る
可読性と保守性を下げるアンチパターンと推奨される改善策です。
続けて読む
理解度チェック
Q1. 対象が何かを「所有・内包」している真偽値の命名は?
- has + 名詞
- is + 形容詞
- exists + 名詞
- with + 動詞
答えを見る
正解: A. has + 名詞
対象が何かを持っているかを表す真偽値変数には、has + 名詞を用います。
Q2. DBやAPIで単一の名詞(discount等)を避ける理由は?
- 単語の文字数が短すぎて検索しにくいため
- 数値や文字列か真偽値か判別できないため
- スネークケースに変換することができないため
- フレームワークで予約語として登録されているため
答えを見る
正解: B. 数値や文字列か真偽値か判別できないため
単一の名詞だと数値や文字列が入るのか真偽値なのか区別がつかないためです。
Q3. 「トークンの有無を確認する」を英訳した文はどれ?
- Check whether the token exists.
- Determine the token presence_flag.
- Depending on token absence.
- Validate token without condition.
答えを見る
正解: A. Check whether the token exists.
本文では「トークンの有無を確認する」の定型文として紹介されています。
よくある質問
- Q. 「有無」を1単語の英語変数名にするなら何ですか?
- 単体なら文脈に応じて exists や available が適しています。ただし変数単体では何が存在するのか不明瞭になるため、userExists や hasDiscount のように対象の名詞を組み合わせるのが基本です。
- Q. has と is のどちらを使うべきか迷ったときの基準は?
- 「主語がその要素を持っている・含んでいる(所有)」なら has(例: hasChild)、「主語そのものがその状態である(属性)」なら is(例: isActive)と判断します。
- Q. APIの項目名で presence と availability の違いは?
- presence はデータや物理的実体が「その場にあるかないか」を表します。availability はシステムや在庫が「利用可能な状態にあるかどうか」を表す際に使います。
- Q. 「〜がないことの有無」をフラグ名にするのはダメですか?
- 避けるべきです。isNotAvailable などの否定フラグを作ると、コード上で !isNotAvailable(二重否定)が発生し可読性を著しく落とすため、常に肯定形で定義します。
- Q. DBで有無フラグの命名はスネークケースでどう書きますか?
- is_active、has_attachment、is_verified のように、助動詞+形容詞または名詞の形でアンダースコアを繋ぐのが標準的です。
2026年10月9日更新・モチタン辞典編集部
is
presence
absence
availability
whether
flag