Javascript
1var t = !!usr;
この場合、tに入るのは true だったのですが、このびっくりマークが2つ繋がる書き方はどういう意味でしょうか?(usrがnullじゃなかったらtrueとかそういうことなのかな?)
Javascript
1var t={ user:user }
↑の場合だと、どういう意味になりますか?
あと、最後に こういう通常の文章ではないコードの書き方は なんという書き方で調べると出てきますか?? ググり方がわからないので 困っています。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答6件
0
ビックリマークは論理 NOTです。論理 NOTは演算対象がtrueと見ることができる場合はfalseを返し、そうでない場合はtrueを返します。↓みたいな感じです
!trueはfalse!falseはtrue!"Cat"はtrue
これをもう一度やっているのが!!usrです。
"Cat"が「trueとみなせるかfalseとみなせるか」を調べたい際に、ビックリマークひとつだけだと「!"Cat"がfalseだからtrue」みたいにややこしく考えないといけません。これをもう一度やると「!!"Cat"がtrueだからtrue」と単純に考えられます。
var t={ user:user }はuserキーの内容に変数userが対応している状態です
論理NOTは「ビックリマーク true」で調べたらでてきました
もうひとつは「中括弧 javascript 使い方」で調べました
投稿2020/02/04 03:08
総合スコア43
0
var t = !!usr;
!は論理否定演算子という正式名称を持つ演算子です。
JavaScriptはtrueや1、"hoge"といったtrueっぽい値をfalseに変換、
逆にfalseや0、""といったfalseっぽい値をtrueに変換します。
これを2連続で使って1や"hoge"から、trueに変換するイディオムです。
Boolean(usr)という風に正規の手順で型変換を行った方が読みやすいかもしれません。
しかし!!はたった2文字で済む為、プログラマでは有名なキャストで愛用者も非常に多いです。
var t={ user:user }
JavaScriptのオブジェクトの書き方です。
コロン:で繋いだ左がキー名、右が値となります。
{}は関数宣言やブロックを作る時もあり、少々ややこしいのですが、
正真正銘、通常の文章なので覚えて置く必要があります。がんばって
投稿2020/02/04 03:06
編集2020/02/04 03:14総合スコア21553
0
var t = !!usr;
usrの値によってtrue/falseを返したいだけでしょう。
条件文ないではif(usr)と変わりませんが厳密にブーリアンと
付け合わせたいときには有効です
投稿2020/02/04 03:02
総合スコア118164
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
前半。
!の意味が分からない場合:
まだ他人のプログラムを読むレベルに達していないということです。
!の意味が分かるが!!の意味が分からない場合:
2つつながることで別の意味が生じるのかということは無いです。そういうのは、== <= >= とかくらいですが、そういう別の意味かどうかは、「JavaScript 演算子一覧」とかでググればわかります。
といいうことで、単なる!の連続なので、よく考えればわかるはずです。
こういう通常の文章ではないコードの書き方は なんという書き方で調べると出てきますか??
ググるキーワードとしては、「JavaScript 基本構文」「JavaScript 文法」「JavaScript 入門」とかでしょうか。
投稿2020/02/04 07:12
総合スコア86461
0
ベストアンサー
回答は既に出ていますが、後半について。
オブジェクトリテラル といいます。
「リテラル」は他にもありますし、文法の基礎になりますので、この機に学習しておきましょう。
投稿2020/02/04 11:10
総合スコア5434
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。