なんだかOptionalが流行っていますが、JavaScriptで書くときのメモです。
JavaScriptでは基本的に名前付き引数という考え方でやるのがベストです。基本的に以下のような感じで関数を定義するとわかりやすくなります。
function changeColor(element, color){
function d2h(c){
if(c < 0){
c = 0;
}else if(c > 255){
c = 255;
}
if(c < 16){
return "0" + c.toString(16);
}
return c.toString(16);
}
if(color){
color = {};
}
element.style.color = "#" +
d2h(parseInt(color.red, 10) || 0) +
d2h(parseInt(color.green, 10) || 0) +
d2h(parseInt(color.blue, 10) || 0);
}
changeColor(document.getElementById("foo"),{red : 150, blue : 100});
初期値はコードの中で決めています。取得できなければ0とみなすような感じ。課題としてはこれを見やすいドキュメントどうやるかというところですね。