ここから本文です

JavaScriptの$マークや!マークの使い方が分かりません。

dtv********さん

2019/8/2420:28:10

JavaScriptの$マークや!マークの使い方が分かりません。

プロゲート、ドットインストールでJavaScriptの勉強を始めたばかりの者です。

練習で自分で色々と作っているのですが、調べていく過程で、たまに$マークが出てくること(下記URL参照)があります。
verで変数を定義するときに、変数の前についてることが多い気がします。
下記URLだと、 var $listAItems = document.getElementById( "リスト要素のID").children; のverの後の部分です。

$は何を表しているのでしょう? $を消すと動かなくなりましたが、$マークを使っていない方もいてよく分かりません。

http://alphasis.info/2013/08/javascript-gyakubiki-list-click-eventh...


また、$と同じような感じで下記URLのような!マークの使い方もよく分かりません。
https://tech-dig.jp/js-modal/

こちらのURLだと、JavaScriptの window.onload = function() {〜} の2行目に if(!popup) return; とありますが、ここの!マークはなんの意味があるのでしょうか?

ご回答宜しくお願いします。

閲覧数:
43
回答数:
3

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

siiさん

2019/8/2423:53:06

変数名や関数名のことを識別子と言いますが、$は識別子において、特別な役割は一切ありません。アルファベットと同じ、単なる1文字です。

先頭ではなく途中や末尾に使ってもいいですし、1つの識別子の中で何回使っても、文法上は全く問題ありません。

ですので、そこにどのような意味を込めるかは、書き手によります。jQueryの影響を受けている場合も多いと思いますが、jQueryでは $('#id') のように要素を選択しますので、要素を参照する変数では$を使う、というポリシーなのかもしれません。

> $を消すと動かなくなりました

$を削除することで、宣言時の変数名が変わっていますので、この変数を実際に使っている別な場所でも、$を削除しなければなりません。

すべての箇所で変数名を統一できているのであれば、動くはずです。

> if(!popup) return;

!演算子は真偽反転です。変数などの中身をtrue/falseで評価した際に、その逆を返します。つまり、trueであればfalseに、falseであればtrueになります。

これは一種のエラーチェックですが、popupの中身が無い(例えばnullやundefined)場合、falseが反転されてtrueになりますので、returnで関数の処理を抜けているという流れです。

  • 質問者

    dtv********さん

    2019/8/2513:27:04

    慎重に$を消してみたら、きちんと動作しました!
    ご回答ありがとうございます!

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2019/8/25 13:32:01

ご回答ありがとうございました!

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

chi********さん

2019/8/2501:27:10

$ はアルファベット同様、識別子(変数名や関数名に使える文字)にすぎない。

かつ、もともとは「機械的に生成された変数・関数」を示すためのものだった。以前の JavaScript にはプロパティを隠蔽する仕組みが無かったので、せめて「勝手に付け足したプロパティ名には $ を付ける」とか、テンプレート的にコード生成するときのテンプレート変数に $ を使うとか、そんな用途だった。

ところが、Perl や PHP から入ってきた者たちが、そういう決まりを無視して、勝手に $ を使い出した。

で、ECMA 262-5 でプロパティ隠蔽の仕組みが導入されたこともあり、$ の用途は削除され、普通に使えるようにはなった。

それと、! は否定演算子。プリミティブ値/オブジェクトを真偽値に暗黙変換した上で、反転させる。

あと、イマドキ window.onload なぞ使っているコードを参考にしてはいけない。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

prwssさん

2019/8/2422:05:32

>!マークの使い方

かなり根本的な知識ですので、何かしらのプログラミングの教科書を一冊買って、それを隅々まで眺めると良いです

大抵は、巻末の索引には記号まで載ってます

要するに、!マークの使い方を知らないのはあり得ないので、根本的に学習方法が間違ってます

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる