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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

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

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

Q&A

解決済

3回答

2214閲覧

"?"を使ったjavascriptの構文

mattun

総合スコア28

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

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

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

0グッド

1クリップ

投稿2015/05/19 14:01

プログラミングでソースを読んでいたのですが

構文が理解できないです。

"?"を使った書き方を検索しても検索方法がわるいのか

ヒットしないです。

var encoding = !isBinary ? "utf8" : "binary";

このコードはどういう処理なのかだれか教えてくださると助かります。

よろしくお願いします!

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

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

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

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

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

guest

回答3

0

ベストアンサー

三項演算子です。
条件演算子(三項演算子)

質問文について補足しますと、
!sBinarytrueなら、つまりisBinaryfalseなら
encoding"utf8"が代入され、そうでなければ"binary"が代入されます。

lang

1var encoding; 2if (!isBinary) { 3 encoding = "utf8"; 4} 5else { 6 encoding = "binary"; 7}

と、同等の処理ということになります。

投稿2015/05/19 14:05

編集2015/05/19 14:08
htsign

総合スコア870

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

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

mattun

2015/05/19 14:10

ありがとうございます。 ?を使ったほうが短くかけていいってことですね
htsign

2015/05/19 14:15

そうですね。 いわゆる糖衣構文と呼ばれるものの一種といっていいと思います。 三項演算子は手軽に扱えますが、「どこからが真の値でどこからが偽の値か分かりにくい」などの理由で読みにくいと感じる人もいるため、乱用はしない方がいいです。 ※糖衣構文( http://ja.wikipedia.org/wiki/%E7%B3%96%E8%A1%A3%E6%A7%8B%E6%96%87 )
guest

0

検索方法がわるいのかヒットしないです。

回答は出ているので、検索のアドバイスを。
JavaScriptの文法が分からないときは、「JavaScript 文法」で検索してください。

投稿2015/05/19 14:13

otn

総合スコア84421

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

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

mattun

2015/05/20 10:04

ありがとうございます次回からちゃんと勉強してから質問します!
guest

0

投稿2015/05/19 21:42

katoy

総合スコア22324

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問