質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

224閲覧

javascript : "obj['result'] = result" function内のこの一文が理解できない

peimish

総合スコア17

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/09/23 07:49

###質問内容

javascript

1function sendJSON(res, result, obj) { 2 obj['result'] = result 3 res.json(obj) 4}

この関数の2行目、

obj['result'] = result

がどういった意味なのかがよくわかりません。

###前提
使い方としてはdbから取得したデータをjson形式でレスポンスとして返すもので、以下のように使用しています。

node

1// ログの取得API 2app.get('/api/getItems', (req, res) => { 3 // データベースを書き込み時刻でソートして一覧を返す 4 db.find({}).sort({ stime: 1 }).exec((err, data) => { 5 if (err) { 6 sendJSON(res, false, { logs: [], msg: err }) 7 return 8 } 9 console.log(data) 10 sendJSON(res, true, { logs: data }) 11 }) 12}) 13

プログラミング初心者でjavascriptもまともに書いたことがないのですが、
急遽reactとnodeを身につけなくてはならず、市販の入門書を写経しながら勉強しております。
プログラムの全体的な流れや今回質問させていただく関数が何をするものなのかは分かるのですが、
どうもこの一文が理解できません。
特に、

obj['result']

の部分の記述方式がどういった状態を表しているのかわからず、うまく検索で答えを見つけることもできず困っております。
こういった記述方式に何か名前がついているのであれば、加えて教えていただければ幸いです。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

部分の記述方式がどういった状態を表しているのか

node詳しいわけではないですが、「obj」配列変数の「result」というキーだと思いますよ。

つまり

obj['result'] = result

引数で渡ってきたobj変数(実際は{}で定義されて渡されたのでオブジェクトですね)のresultキーに引数で渡ってきたresult変数を入れている という状態かと。

投稿2018/09/23 07:56

編集2018/09/23 08:01
m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

peimish

2018/09/23 08:22 編集

回答いただきありがとうございます。 なるほど!配列のkeyだったのですね! 重ねて質問してしまい恐縮ですが、objオブジェクトの中身を確認させてください! つまり、前提の欄で記述した例の、データの取得に成功したときのobj変数の中は、 ``` obj = { logs: data, result: true} ``` といった解釈であっているでしょうか?
m.ts10806

2018/09/23 08:23

console.log() でコンソール出力して確認してみると良いですよ。 デバッグではよく使うので覚えておいてください。
peimish

2018/09/23 08:27

その手がありました! ご親切にアドバイスいただきありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問