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

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

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

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

Q&A

解決済

3回答

1743閲覧

javascriptの記法で分からない細かい所

you88

総合スコア147

JavaScript

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

1グッド

1クリップ

投稿2018/01/01 12:31

編集2018/01/01 13:03

すみません、javascriptを勉強していて分からない細かい所があり、複数にまたがるのですが教えてもらえると助かります。

https://qiita.com/H_Crane/items/adf88cc01eabce2b9a5f

こちらの記事のjsで下記の中の

javascript:chat.js

1var CHAT = CHAT || {}; 2 3CHAT.fire = { 4 init:function(){ 5 this.setParameters(); 6 this.bindEvent(); 7 }, 8 9 setParameters:function(){ 10 this.$name = $('#jsi-name'); 11 this.$textArea = $('#jsi-msg'); 12 this.$board = $('#jsi-board'); 13 this.$button = $('#jsi-button'); 14 15 //データベースと接続する。各自登録時に出たコードに書き換え。 16 this.chatDataStore = new Firebase('https://<各自>.firebaseio.com/'); 17 }, 18 19 bindEvent:function(){ 20 var self = this; 21 this.$button.on('click',function(){ 22 self.sendMsg(); 23 }); 24 25 //DBの「talks」から取り出す 26 this.chatDataStore.child('talks').on('child_added',function(data){ 27 var json = data.val(); 28 self.addText(json['user']); 29 self.addText(json['message']); 30 }); 31 }, 32 33 //ユーザー、メッセージ送信 34 sendMsg:function(){ 35 var self = this; 36 if (this.$textArea.val() == ''){ return } 37 38 var name = this.$name.val(); 39 var text = this.$textArea.val(); 40 41 //データベースの中の「talks」に値を送り格納('talks'は各自任意に設定可能) 42 self.chatDataStore.child('talks').push({user:name, message:text}); 43 self.$textArea.val(''); 44 }, 45 46 //受け取り後の処理 47 addText:function(json){ 48 var msgDom = $('<li>'); 49 msgDom.html(json); 50 this.$board.append(msgDom[0]); 51 } 52} 53 54$(function(){ 55 CHAT.fire.init(); 56});

1.var CHAT = CHAT || {};の意味

2.this.$name = $('#jsi-name');の$ってなんでしょうか?(どちらも)

sota_u👍を押しています

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

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

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

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

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

kei344

2018/01/01 12:43

「下記の中の 」で途切れてしまっています。記事を編集してみてください。また、URLはリンクを張ることが出来ます。
you88

2018/01/01 12:47

すみませんでした!修正しました!
kei344

2018/01/01 12:57

「2.this.$name = $('#jsi-name');の$ってなんでしょうか? 」はどちらの「$」について書かれていますか?質問文にお書きください。
you88

2018/01/01 13:03

両方になります。追記しました!
guest

回答3

0

ベストアンサー

1.var CHAT = CHAT || {};の意味

過去に同じような質問がありました。

変数に論理演算子を使用する意味を教えて下さい。

コードの意味についてはそれぞれの回答を参照して下さい。

2.this.$name = $('#jsi-name');の$ってなんでしょうか?(どちらも)

$name$はプロパティ名の一部です。JavaScriptではabcなどのアルファベットと同様に$を変数名やプロパティ名(こういう名前を識別子という)の一部に使うことができます。コード全てを書き換えるなら、$nameのかわりにSnameであってもよく、特別な意味は持ちません。ただ、後述するjQueryオブジェクトを入れる変数名やプロパティ名は先頭に$をつけるという慣習があるため、それに従っていると思われます。

$('#jsi-name')$jQueryの関数です。jQueryと書くこともでき、$はそのエイリアス(別名)となっています。つまり、jQuery('#jsi-name')と書くこともでき、JavaScriptとしては、文字列を引数にしたただの関数呼び出しに過ぎません。

$()関数は文字列を引数に取ると、CSSのセレクタと同じ検索方法でDOMを探し、そのDOM(複数の場合もある)に対するjQueryオブジェクトを返します。詳しいことはjQueryのドキュメントを参考にしてください。また、文字列以外を引数にした場合は処理内容が異なりますので、注意してください。

投稿2018/01/01 13:57

raccy

総合スコア21735

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

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

0

1.var CHAT = CHAT || {};の意味

ですが、こちらは、『CHATという変数がこの定義の前に存在したら既にあるCHATという定義を代入するよ、存在しなかったら(undefinedだったら)配列として定義するよ。』という意味だと思われます。

『||』は論理演算子のorですね。

追記
undefinedのスペルが間違っていました。また、上記の内容につきましては、raccy様がとても詳細に解説されている記事を共有下さっていますので、そちらの記事をご覧になるのがよろしいかと思います。

投稿2018/01/01 13:49

編集2018/01/01 14:14
sota_u

総合スコア88

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

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

0

前半は変数名でただの記号($nameはanameとかbnameとかと同じ)です。
後半はjqueryという外部jsの使用する関数群を使うということです。

投稿2018/01/01 13:10

sousuke

総合スコア3828

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問