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

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

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

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

Q&A

解決済

3回答

768閲覧

%と?という記号が持つ意味がわからない

potetiki

総合スコア28

JavaScript

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

0グッド

0クリップ

投稿2021/09/09 22:21

JavaScriptの関数の定義は文でも式でもできることの説明に以下のコードが引用されていました。

const rand = Math.floor(Math.random() * 10); // 0 〜 9 の整数を生成
const judge = if (rand % 2 === 0) even else odd; // SyntaxError

if文の引数に渡されている%はどういった意味があるのでしょうか?

また条件演算子の例でこちらのコードがありました。

const judge = rand % 2 === 0 ? even : odd;

こちらの?はなにを表しているのでしょうか?

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2021/09/09 22:40

質問する前にググって調べてみましたか? キーワードが「javascript %」とかですとヒットしないかも知れませんが、「javascript パーセント」とか工夫したらどうなりますか?
退会済みユーザー

退会済みユーザー

2021/09/09 22:51

ググって自分で調べて解決できると言うことは非常に重要なスキルの一つです。考えてみてください。
potetiki

2021/09/09 23:12

なるほど!実際javascript %でググってましたw
退会済みユーザー

退会済みユーザー

2021/09/10 00:45

解決したならベストアンサーを選んでこのスレッドはクローズしてください。
potetiki

2021/09/10 01:08

ほかの人の回答が理解できるまでお待ちください
guest

回答3

0

ベストアンサー

そもそもですがifは関数ではなく文なので「引数」というのは適当な表現ではありません。

指定された「式」を評価(true/false)するのが仕事です。

%については演算子の一つです。
+-*/の仲間。
「剰余」の項を確認してください。

?については三項演算子に使う構文の一部です。

式 ? 式がtrueのときにする処理 : 式がfalseのときにする処理

プログラミング言語で見られる記号を調べるときはそのまま、「言語名 記号の日本語の読み方」で調べるとだいたい出てきます。
「Javascript パーセント」「Javascript ハテナ」
なるべく私が本回答で提示したMDNのような公式に近しい情報を参照するようにしてください。

投稿2021/09/09 22:44

m.ts10806

総合スコア80875

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

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

potetiki

2021/09/10 01:29

とてもわかりやすく知りたいことをピンポイントで解説してもらえました。ありがとうございました。
m.ts10806

2021/09/10 01:47

私の回答の意図は「まずはドキュメント確認を」です。
potetiki

2021/09/11 07:10

ドキュメント確認ってMDNとかのことですか??
m.ts10806

2021/09/11 07:13

はい。回答にも提示してます。
potetiki

2021/09/11 07:25

ありがとうございます!
guest

0

if文の引数に渡されている%はどういった意味があるのでしょうか?

割り算の余りを算出する演算子です。

こちらの?はなにを表しているのでしょうか?

条件演算子の一部です。

投稿2021/09/09 22:36

maisumakun

総合スコア146018

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

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

potetiki

2021/09/10 01:27

理解できました!ありがとうございます
guest

0

余談になりますが…

javascript

1const rand = Math.floor(Math.random() * 10); // 0 〜 9 の整数を生成 2const judge = if (rand % 2 === 0) "even" else "odd"; // SyntaxError

これの意図をくむとこんなかんじでしょか(*1)

javascript

1const rand = Math.floor(Math.random() * 10); // 0 〜 9 の整数を生成 2let judge; 3if (rand % 2 === 0) { 4 judge = "even"; 5} else { 6 judge = "odd"; 7}

さらに rand %2 の結果は 0 または 1 になるので

javascript

1const rand = Math.floor(Math.random() * 10); // 0 〜 9 の整数を生成 2const arr = ["even","odd"]; 3const judge = arr[rand % 2];

こうも書けますし、さらにはこんな書き方もできます。

javascript

1const rand = Math.floor(Math.random() * 10); // 0 〜 9 の整数を生成 2const judge = ["even","odd"][rand % 2];

? は (*1) を全部書くのが面倒だから短く書けるようにしたものですね。
プログラミングでは往々にしてこういうことがありますので、慣れないうちはきっちりと基本通りに書いていく方がいいと思います。

投稿2021/09/09 23:10

takasima20

総合スコア7464

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

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

potetiki

2021/09/10 01:28

分かりやすく砕いてもらえて読んでいて楽しかったです。ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問