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

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

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

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

2069閲覧

clickイベントとタイマー処理を利用した擬似的なチャット

tooju

総合スコア15

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

1クリップ

投稿2020/09/23 03:24

現在javascriptの勉強をしているものです。

clickイベントとタイマー処理を利用した擬似的なチャットを作成しているのですが、
教材記載のコードでわからない箇所があります。

var answer = ["なるほど!", "ふむふむ", "うーん", "(笑)", "あらら・・・"]; // メッセージ送信処理 引数:送信したいメッセージ(文字列) function addChatText(val, type) { if(!val) return false; // チャットに追加するHTMLのタグを生成 var text = document.createElement('li'); // テキストを設定 text.innerHTML = val; // 赤文字のスタイルを設定(CSSのclass「message-other」を設定)※ここが分かりません if(type == "other"){ text.classList.add("message-other"); } // 追加対象となる要素を取得 var chatWindow = document.getElementById("chat-list"); // appendChild()メソッドで要素とテキストをHTMLに追加 chatWindow.appendChild(text); } // 送信ボタンを押した時にメッセージを送信 document.getElementById("chat-send").addEventListener("click", function(){ var inputText = document.getElementById("chat-input"); // addChatText関数を入力値とCSSのclass判別文字列を引数として実行 addChatText(inputText.value,"you"); // 入力欄を空欄にする inputText.value = ""; }); // 8秒毎にメッセージを送信 setInterval(function(){ // ランダムの整数を設定 var index = Math.floor(Math.random() * answer.length); // ランダムメッセージを表示 addChatText(answer[index], "other"); }, 8000); // 初回のみ1秒後にメッセージを自動送信 setTimeout(function(){ addChatText("こんにちは!", "other"); }, 1000);

このjavascript記載の

// 赤文字のスタイルを設定(CSSのclass「message-other」を設定)※ここが分かりません if(type == "other"){ text.classList.add("message-other"); }

この部分なのですが
if構文の、typeとotherが同等だった場合と書かれていますが、
・なぜif構文が用いられているのか
・otherが何を差すのか(otherについての定義がなされていないように見えるため)
というのが疑問に挙げられます。

大変恐縮ではございますが、お答えしていただけると幸いです。
html、cssも記載させていただきます。
よろしくお願いいたします。

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

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

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

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

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

guest

回答2

0

ベストアンサー

addChatText()の第2引数にわざわざ「"other"」という文字を
渡したときの挙動のように見えます
"you"と"other"を使い分けていますね

投稿2020/09/23 03:32

yambejp

総合スコア114839

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

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

tooju

2020/09/23 05:05

他人がメッセージを書いたときはこうだよ、みたいな書き分けですね! ありがとうございます!!
guest

0

それはたんに、typeという文字列変数のナカミが"other"という文字列か、を判断してるだけです

投稿2020/09/23 03:29

y_waiwai

総合スコア87774

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

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

tooju

2020/09/23 05:06

youかotherか、ということですね! ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問