Yueseryueser.com

← ガイド一覧

キャメルケースへの変換方法:つまずきやすい 4 つの点

ローワーキャメルケースは、最初の語を小文字、続く語の頭文字を大文字にして区切りを省く表記です。JavaScript の変数や多くの JSON フィールドの既定で、API の項目名を揃えるとき最初に直す部分でもあります。

ツールを開く:キャメルケース変換

まとめて変換したくなる場面

API は user_name を返し、フロント側は userName を使い、デザインファイルでは User Name と書かれている。3 つや 5 つなら手で直せますが、40 個続けて直すと必ず一つ漏れます。漏れた名前は画面に出るエラーではなく、実行時の undefined として後から見つかります。

もう一つは表から名前を作る場合です。表計算の見出し、CSV の列名、英語のフレーズ一覧を変数名や型のフィールドに変えるとき、まずまとめて変換し、そのあと略語と数字を人が確認するほうが、1 件ずつ手入力するより安定します。

変換の内部で起きていること

API は user_name を返し、フロント側は userName を使い、デザインファイルでは User Name と書かれている。3 つや 5 つなら手で直せますが、40 個続けて直すと必ず一つ漏れ、実行時の undefined として後から見つかります。

注意点は、キャメルケースの区切りを認識しないことです。もともと userProfile を入れると、小文字化した時点で区切りがなくなり、userprofile につぶれます。userID は userid、APIKey は apikey となり、略語の大文字情報は失われるため、変換後に手で戻す必要があります。

命名規約に唯一の正解はない

手順は 2 つだけです。全体を小文字にし、「英数字以外の連続した文字と直後の 1 文字」を大文字に置き換えます。スペース、ハイフン、下線、ピリオド、括弧はすべて消え、user profile も user-profile も user_profile も userProfile になります。

注意点は、キャメルケースの区切りを認識しないことです。userProfile を入れると小文字化の時点で区切りがなくなり、userprofile につぶれます。userID は userid、APIKey は apikey となり、略語は変換後に手で戻します。

よくある質問

キャメルケースとパスカルケースの違いは何ですか?

camelCase は userName のように最初を小文字にし、PascalCase は UserName のように各語を大文字にします。JavaScript では変数やメソッドに前者、クラスやコンポーネントに後者を使うことが多く、選択は言語とチームの規約で決まります。

userProfile が userprofile になったのはなぜですか?

変換が先に全体を小文字化し、そのあと英数字以外の文字で区切るためです。userProfile には区切りがないのでキャメルの境目が認識されず、1 語として扱われます。語を残したい場合は user profile か user_profile に直してから変換してください。

JSON の項目名が camelCase と snake_case で混ざるのはなぜですか?

言語やサービスの慣習が違うためです。JavaScript の界隈は camelCase、Python や Ruby の界隈や Stripe などの API は snake_case を使います。連携先のドキュメントに合わせ、1 つのデータの中で混在させないでください。

関連ツール:キャメルケース変換