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

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

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

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

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

解決済

1回答

786閲覧

ReactのJavascriptの構文を理解したい

k499778

総合スコア599

JavaScript

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

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

0クリップ

投稿2021/05/14 09:32

前提・実現したいこと

現在Reactを勉強しています。扱っているReactコードの中に以下のようなjavascriptの構文がありました。

js

1hoge.name && 2{ 3 a: 'Aです', 4 b: 'Bです' 5}[hoge.name]

背景としては値を画面に表示する箇所で扱われており、条件に応じて「Aです」「Bです」と表示されます。

この構文を見たことがなかったので
・何をしているか理解したい
・調べ方 & リファレンスを知りたい
です。

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

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

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

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

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

maisumakun

2021/05/14 09:36

全体で1つの構文というわけではなく、基本的な構文を組み合わせた式です。 どの部分がわからないか、もう少しコメントを頂くことは出来ますか?
guest

回答1

0

ベストアンサー

以下の3つを組み合わせただけです。特別な構文ではありません。

  • a && baがfalse相当ならa、そうでなければbという選択を行う演算。
  • 式の途中に{}が現れたら、それはオブジェクトリテラルです。
  • オブジェクトに[]を付けると、プロパティ参照の意味になります。

投稿2021/05/14 09:39

maisumakun

総合スコア145183

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

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

k49977

2021/05/14 09:48 編集

なるほどですね!
k499778

2021/05/14 09:50

迅速な対応ありがとうございます! なるほど。 1つ目はかろうじて知っていましたが、使い慣れていませんでした。 2.3つ目はご説明頂いた内容を噛み砕く必要がありそうです。使用感もわかっていません。 もう少し調べてみます。
k499778

2021/05/14 13:02

構文は理解できたつもりです。 実際の取得できる値が少しまだわかっておりません。 プロパティ参照のイメージでは、オブジェクトリテラルの中にあるキーを指定するイメージですが、 今回そうではありません。 { a: 'Aです', b: 'Bです' }[a] なら「Aです」と返ってきそうですが。 今回のケースではオブジェクトリテラルのキーを指定していないのですが、 どういうことなのでしょうか?
maisumakun

2021/05/14 13:04

> 今回のケースではオブジェクトリテラルのキーを指定していないのですが hoge.nameの中身が'a'なのではないでしょうか。
k499778

2021/05/14 15:30

あ、なるほどですね!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問