JavaScript

JavaScript 関連した情報を持つ固定値の書き方

投稿日:

中級者向けの記事になります。

JavaScript の定数定義を行うときに、関連した複数の値をまとめたいときがあります。そういうときにどのように書くのがよいのか、ということについてまとめておきます。

下手なコード

このようなコードをみかけました。

これはかなりまずいコードです。

定数値として、値を保持したいのはわかりますが
ACCOUNT_TYPE[0] が 取締役のデータをもっているかどうかをプログラマが事前に暗記でもしておかなければみつけられないコードになってしまいます。

取締役が0で、役員が1とかの値かどうかはプログラムを読む人は覚えたりしていませんし覚えたくもありません。

少しよいコード

このようにすると少しはましでしょう。

ACCOUNT_TYPE.President が取締役のデータをもっていることが誰がプログラムコードを読むときにでも読みやすくなります。

データを記録する場合に id よりかは名称、この場合は President という文字列を使いたい場面もあったりします。President という文字列でこのデータを見つけることができないので、まだちょっといまいちかもしれません。

よりよいコード

データ構造としてはこんなふうなものがいいかもしれません。これなら、データにアクセスするのも容易ですし、NAMEプロパティで英語名でもデータ検索できるようにプログラムを組むことも容易です。

定数としては、ACCOUNT_TYPE3.PRESIDENT としてデータにアクセスすることができます。

このデータを作り出すように少し工夫をしてみます。

データを作るための関数

DESCRIPTION とかを何度も書くのは冗長かな、とも思いますので、makeObject という共通関数をつくってからそれにあわせてデータを生成してみます。

これで、ACCOUNT_TYPE3と全く同じACCOUNT_TYPE4 を生成することができます。

冗長のように思えるかもしれませんが、makeObject は使い回しのできる汎用関数としてプロジェクト内の共通関数部分で記載すればよく、ライブラリ側に隠蔽できると考えると ACCOUNT_TYPE4 の代入部分だけなので短くて済みます。

このようにしておくとデータの定義が便利に行えるでしょう。

応用効かせて、よいコードを書いていってみてください。

-JavaScript

Copyright© プログラミングアカデミー ゼロプラスワン , 2019 All Rights Reserved Powered by STINGER.