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

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

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

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

JavaScript

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

Q&A

解決済

3回答

1890閲覧

JavaScript var宣言

tokyo

総合スコア35

Node.js

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

JavaScript

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

0グッド

1クリップ

投稿2016/04/29 08:12

JavaScriptで複数の変数を宣言するとき、
下記①②のような2パターンの書き方があるようですが、
これは何か違いがあるのでしょうか?

※Node.js(express)をインストールしたら①の書き方でした。
※②はいろんな人のブログで見かけます。

①それぞれにvarをつける
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');

②varは1つ、以降の変数はカンマで区切って最後にセミコロン
var express = require('express')
, path = require('path')
, favicon = require('serve-favicon');

よろしくお願いします。

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

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

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

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

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

guest

回答3

0

ベストアンサー

ここに詳しく書いてありますが、2つめのパターンのメリットは以下の通りです。(抜粋)

  1. 必要とされる変数が一目で分かり、コードの見通しも良くなる
  2. 変数を定義する前にその変数を使用してしまう「変数の巻き上げ」という論理上のエラーを予防できる。
  3. グローバルを最小にできる。
  4. コード量が減る。

投稿2016/04/29 08:30

kentei_syunrai

総合スコア946

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

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

tokyo

2016/04/29 09:07

メリットを提示していただきありがとうございます。 リンク先の「変数の巻き上げ」についても興味深く大変勉強になりました。
guest

0

カンマ演算子です。

【カンマ演算子 - JavaScript | MDN】
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Comma_Operator

【[javascript]カンマ演算子は右側の値を返す : minoawのブログ】
http://blog.livedoor.jp/minoaw/archives/1642468.html

【JavaScript のコンマ演算子 - フリーフォーム フリークアウト】
http://d.hatena.ne.jp/cou929_la/20110408/1302269034

投稿2016/04/29 08:28

kei344

総合スコア69398

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

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

tokyo

2016/04/29 09:14

有用なリンクを示していただきありがとうございます。
raccy

2016/04/29 10:02

var文の中で、区切りに使われているカンマ「,」はvar文の一部であり、カンマ演算子のカンマではありません。下記も参考にしてください。 https://teratail.com/questions/28566
kei344

2016/04/29 12:59

To: raccy 勘違いしていました、情報ありがとうございます。 To: tokyo すいません、誤った情報でした。
guest

0

特に違いはないです。

変数を宣言するとき、同じ変数の型であれば
int a,b,c;
というような感じで、カンマで複数いっぺんに定義できる仕様になっています。
多くの言語で似たような書き方ができると思います。

投稿2016/04/29 08:20

CodeLab

総合スコア1939

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

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

tokyo

2016/04/29 09:19

一度に定義できるメリットがあり、動きについては特に違いはないということで理解しました。 ご回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問