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

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

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

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

JavaScript

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

Q&A

解決済

2回答

271閲覧

オブジェクト名.メソッド名(Math.random()など) と メソッド名 の違い(setTimeout())

goyamaro

総合スコア14

Node.js

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

JavaScript

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

0グッド

1クリップ

投稿2019/05/31 02:57

現在、Node.jsについて学習をしているものです。

学習をしているなかで、メソッドを使う際に

**Math.random()などの「オブジェクト名.メソッド名」**という書きかたと

**setTimeout()のように「メソッド名」**だけの書き方を見て、

これは何の違いなんだろうかと疑問に思ったので質問させていただきます。
どなたか、教えてください。よろしくお願いいたします。

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

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

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

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

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

guest

回答2

0

ベストアンサー

Mathはビルトインオブジェクトです。
標準ビルトインオブジェクト - JavaScript | MDN

setTimeoutWindowオブジェクトであるwindowのメソッドですが、window.setTimeoutはブラウザ上ではsetTimeoutと省略して書くことができます。
window - Web API | MDN

訂正

Node.js の質問であることを見逃していました。削除して訂正します。
詳しくないので明言を避けますが、Node.js ではsetTimeoutはグローバルオブジェクトのメソッドだと思います。

投稿2019/05/31 03:23

編集2019/05/31 03:43
Lhankor_Mhy

総合スコア36089

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

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

goyamaro

2019/05/31 03:26

解答ありがとうございます。 省略して書くことができるものとそうでないものを見分ける方法はなにかあるのでしょうか?
Lhankor_Mhy

2019/05/31 03:35

「オブジェクトを記述せず直接書くことができる関数」という意味では、上記のwindowのメソッドとビルトイン関数だけだと思います。(といいますか、ブラウザ上ではビルトイン関数はwindowのメソッドとして表現されています)
Lhankor_Mhy

2019/05/31 03:37

あ、Node.jsなんですね。それは失礼しました。 私の回答は不適切なので忘れてください。
goyamaro

2019/05/31 03:40

標準ビルドインオブジェクトを調べ、なんとなく理解できたので良かったです。 回答ありがとうございました。
Lhankor_Mhy

2019/05/31 03:47

大丈夫でしょうか、いい加減な回答をしてしまいました、すみません。
goyamaro

2019/05/31 04:08

ありがとうございます。リンクを見て、調べてみようと思います。
guest

0

内部的な定義の仕方かと。

javascript

1var Math = function(){}; 2Math.prototype = { 3 random: function(){ 4 //処理 5 } 6}; 7function setTimeout(callBack, time){ 8 // 処理 9} 10// かもしくは 11var setTimeout = function(callBack, time){ 12 // 処理 13};

みたいな感じで、ネイティブで定義されてるんじゃないかと思います。
定義自体の中身は見ることできないので、なんとも言えませんが・・・。

投稿2019/05/31 03:14

編集2019/05/31 03:21
miyabi_takatsuk

総合スコア9528

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問