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

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

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

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

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

Q&A

解決済

2回答

344閲覧

オブジェクトの中身をボタンクリックでconsole出力したい。

kings_of_king12

総合スコア33

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

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

0グッド

0クリップ

投稿2022/09/13 10:23

実現したいこと

オブジェクトの中身をボタンをクリックした際に、consoleに出力したいです。

発生している問題・エラーメッセージ

オブジェクトの中身ではなく、[object Object]と出力されてしまいます。

該当のソースコード

javascript

1const aho = { 2 name :'ore', 3 color :'red' 4} 5 const button = document.getElementById('onbutton'); 6 7 function onbutton(){ 8 console.log('Hey,'+this.object); 9 } 10 11 button.addEventListener('click',{ 12 object:aho, 13 handleEvent:onbutton 14 });

備考

ご教授いただければ幸いです。よろしくお願いいたします。

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

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

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

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

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

m.ts10806

2022/09/13 12:14

文字列連結じゃなく2回console.log書くのではダメなのでしょうか。
kings_of_king12

2022/09/13 14:28

1つのconsole.log()で出力することが目的なので、コードをなるだけ変えたくないのです;;
m.ts10806

2022/09/13 22:01

質問内容からそのあたりが見えなかったための確認です。 + の機能確認はしておいてくださいね。
guest

回答2

0

ベストアンサー

文字列とオブジェクトを合成しようとしているからでは?

javascript

1console.log('Hey,'+this.object); 2↓↓↓ 3console.log('Hey,'+JSON.stringify(this.object));

投稿2022/09/13 10:31

yambejp

総合スコア114825

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

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

kings_of_king12

2022/09/13 14:36

ありがとうございます。 JSON.stringify()というメソッドを初めて知りました。 こういったメソッドやプロパティを知っているほど、コードの効率化や実装できる範囲が広がると考えているのですが、 やはりmdnやリファレンスを見て勉強するほかないのでしょうか。 知っているメソッドなどを駆使して機能を実装できるが、知らないメソッドなどは当然ながら実装できないので技術が進化しない。けど進化させたいというジレンマに陥っています。
guest

0

+接続ではなくカンマ区切りにすればいいです。

js

1const aho = { 2 name :'ore', 3 color :'red' 4} 5console.log('Hey,'+aho); 6console.log('---') 7console.log('Hey,', aho);

text:実行結果

1Hey,[object Object] 2--- 3Hey, { name: 'ore', color: 'red' }

投稿2022/09/13 10:30

shiracamus

総合スコア5406

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

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

kings_of_king12

2022/09/13 14:30

ありがとうございます。 いつもならカンマ区切りで出力していたのですが、なぜかオブジェクトに気を取られたのか思いつかない自分が恥ずかしいです。 本当にありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問