今日、この質問は私が取り組んでいるプロジェクトについて出てきました。「問題」は、提供されたデータに不確実性があり、その上にアプリケーションを構築していることです。これは、一部の値が存在する場合と存在しない場合があることを意味します。上位レイヤーにある程度の一貫性が必要なため、必要な一貫性を作成する「サニタイズ」メソッドを作成しました。
しかし...何が良いですか?:
var myNewData = {};
myNewData['somevalue'] = (myOldData.somevalue) ? myOldData.somevalue : '';
また
var myNewData = {};
myNewData['somevalue'] = myOldData.somevalue || '';
そして...なぜそれが良いのですか?パフォーマンスですか?読みやすさ?ちょっと興味があるんだけど。
編集:明確にするために。'somevalue' プロパティは必ずしも古いデータにある必要はありません。そうである場合もあるし、そうでない場合もある。
EDIT2:もちろん、古いデータの値に文字以外の値(数値、ブール値など)が含まれていることがわかっている場合は、デフォルトで適切な値(0、trueなど)に設定します。