変数や関数名に日本語が使える
TypeScript というより ECMAScript の仕様上可能って感じです。
以下のように関数名、変数名、interface やプロパティ名まで日本語で定義できます。
記載していませんが、クラス名も可能です。
interface ユーザー情報 {
氏: string
名: string
}
const ユーザー情報を設定して表示する = (氏: string, 名: string) => {
const ユーザー: ユーザー情報 = {
氏,
名: 名,
}
alert(`${ユーザー.氏}\n${ユーザー.名}`)
}
HTML から日本語の関数名でも呼び出し可能です。
<body>
<button onclick="ユーザー情報を設定して表示する('田中', '太郎')"></button>
</body>
懸念点
- 日本語、英語が混在する
- 英語と違い、動詞が最後に来るため最後まで見ないと関数名なのか変数なのかわかりにくい(すごくあほらしくなるが”関数_“などの接頭辞をつければいいのか!?)
- 必ずしも日本語に翻訳できるとも限らないため、命名に困る場合がある
- 実際に日本語でコーディングしている人口はほぼいないと思われるので、何か問題があっても対処方法が見つからない可能性がある。
- 新しくメンバーが参画した際に、新メンバーが困惑する
使う場面はあるのか
個人的には全くないとも言い切れないですが、普通のケースでは選択肢に入らないと思います。
翻訳すると逆に意味がわからなくなる固有名詞を扱うオブジェクトとか?(台帳の名前とか)