- ベストアンサー
return {c : c, h : h}について
私以外が作ったjavascriptプログラムでこのように書かれていました。 var h = null; var c = null; //省略 return {c : c, h : h} このreturn文のところの意味を知りたいのです。 {x : x, y : y}という形式でプログラムすると、 どのような条件として判断されるのでしょうか? このプログラムの意味が分かりませんでした。 もしよろしければ、教えて頂けませんか。 よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
まず、Objectの表記方法はご存知ですか? var o={a:1, b:2, c:"3"} とかいう表記はObjectを表し、 alert(o.a) という形で、プロパティを呼び出したり、という使い方があります。 なんてのは、「javascript オブジェクト初期化子」で検索していただくとして、 本題。 仕様上、functionは1個または0個の戻り値しか返せません。 例:function f(){return 1;return 2;} はreturn 1が実行された時点で終了。 ですが、2個以上の戻り値が必要になることもあり、(人それぞれ?) 例:角度を指定し、sin と cos の両方の値を返したい 画像の縦と横のサイズを知りたい そんなときに複数の値をプロパティとして持った一つのObjectにまとめてしまえば、 戻り値は一つですむ、という解決方法があったりします。(質問内容はこれにあたります) 配列で、なんていうのもあったり。 function f(t){return {s:Math.sin(t), c:Math.cos(t),t:Math.tan(t)}} について、 var r=f(3.14) alert(r.s)//sinの値を参照 alert(r.c)//cos といったように使われます。私は使ったことないです。 独り言:あぁ、メモリの悲鳴が・・・
その他の回答 (1)
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
別の例。 これでわかりますか? var x=1; var y=2; var a={ c : x, h : y }; return a;
お礼
複数の値を返したい場合にしようするのですね。 理解できました。 ありがとうございます。
お礼
戻り値が複数必要な場合に使うのですね。 理解できました。 .NETのプロパティみたいなイメージですね。 ありがとうございます。