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

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

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

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

JavaScript

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

Q&A

解決済

1回答

7195閲覧

node.js実行時になぜかundefined

keys

総合スコア215

Node.js

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

JavaScript

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

0グッド

0クリップ

投稿2017/09/26 10:11

編集2017/09/26 10:13

実行

簡単なrequire/exportsアプリをnode.jsで書いています。下記のmain.jsをコマンドで node main.jsのように実行すると、二つの関数を読み取って関数の中身が実行されるんですが、何故最後にundefinedがくっついてきます。何故でしょうか。

# pwd /var/www/html/node_require
# node main.js Foo 関数が実行された undefined

#実装

main.js

var f = require('sub'); console.log (f.funca()); console.log (f.log());

sub.js

exports.funca = function() { return "Foo"; }; exports.log = function() { console.log("関数が実行された"); };

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

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

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

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

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

guest

回答1

0

ベストアンサー

sub.jsでexportsしているlog()が何も値を返していないのに、main.jsで、console.log()で戻り値を出力しようとしているからです。

f.log()が何かの値をreturnすれば、その値が出力されます。

sub.js

exports.log = function() { return "関数が実行された"; };

投稿2017/09/26 10:27

編集2017/09/26 10:41
StupidDog

総合スコア263

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問