• 締切済み

組み込みオブジェクトのコンストラクタもFuncti

JavaScriptで、組み込みオブジェクトのコンストラクタもFunctionオブジェクトなのでしょうか?

みんなの回答

  • b0a0a
  • ベストアンサー率49% (156/313)
回答No.1

何が聞きたいのかよくわかりません X.constructor === Function とも取れますし typeof X === "function" とも取れます

re97
質問者

お礼

回答ありがとうございましたー

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • constructorプロパティとオブジェクト関係

    JavaScriptのconstructorプロパティについて教えてください。 ・constructorプロパティは、内部プロパティ[[Construct]]と同義でしょうか? ・constructorプロパティが存在しない組込オブエジェクトは、「Global」「Math」「JSON」の三つだけ? ・上記以外の組込オブエジェクトは、全てnewできる、ということでしょうか? ・「new Object」「new Function」できるのは、constructorプロパティがあるから、という理解で合っているでしょうか?

  • javascriptのObject()コンストラクタについて質問です。

    javascriptのObject()コンストラクタについて質問です。 var obj = new Object(); var obj2 = Object(); console.log(obj === obj2)//false いつも質問ばかり恐縮です。。。 どこかのサイトでこの2つは等価みたいな記事を読んだような気がするのですが、 ということはObjectコンストラクタでオブジェクトを作る際はnew演算子は要らない?? のでしょうか?? またobjとobj2の2つの違いを色々試したのですが違いがわかりません。new演算子を 付けたインスタンスと付けないインスタンス??の違いをどなたか ご教授いただけると助かります。

  • コンストラクタとプロトタイプについて

    ネットで検索したりして調べているのですがいまいちわからなかった箇所が あるので質問させていただきます。 コンストラクタで設定するのとプロトタイプで設定する違いがいまいちわかりません。 例えば function Test { this.prop = hoge; } Test.prototype.prop1 = hogehoge; の場合 コンストラクタのほうが優先されてhogeがでるのはわかるのですが 下記の場合はプロタイプのほうが優先されてhogehogeと出てしまうのは どうしてでしょうか? <script language="javascript"> <!-- //コンストラクタ function Test(){alert("hoge"); } //prototypeでセット Test.prototype=alert("hogehoge"); //オブジェクト作成 var TEST = new Test(); window.onload=TEST; --> </script>

  • コンストラクタ?

    FireFox2のエラーコンソールで以下のようなユーザ定義クラスを作成しています。 期待する動作は、documentに、 12 と出力されることです。 が、FireFoxのエラーコンソールには、 エラー: NewClass is not a constructor ソースファイル: file:///C:82%AF%E3%83%88%E3%83%83%E3%83%97/docs/temp.html 行: 20 と表示されています。おそらく、NewClass の コンストラクタの書き方が誤っているのではないかと思いますが、webで調べても正しいコンストラクタの書き方 というのが見つけ切れませんでした。期待動作を満たす為にはどのようにかけばよいでしょうか? <script type="text/javascript"> function NewClass(){    /*ここが誤っている?*/ // } NewClass = { ClassValue1:1, ClassValue2:2, ClassFunc:function() {alert('わん');} } ClassTest = new NewClass(); document.write( ClassTest.ClassValue1 ); document.write( ClassTest.ClassValue2 ); </script>

  • JavaScriptについて質問です。

    JavaScriptの言語コアと呼ばれるものは 1.Array 2.Date 3.Math 4.String 5.Function 6.Boolean 7.Number 8.RegExp の上記8つのクラス(正確には、コンストラクタ呼び出しが可能な組み込み済みの関数オブジェクト)のことをいっているという認識でよいのでしょうか? 例えばブラウザでのクライアントJavaScriptの場合は、上記組み込み関数オブジェクトに加えてwindowオブジェクトと呼ばれる 組み込み済み?のホストオブジェクトがありますよね? 現在、わたくしの方では [ブラウザ用途の場合、windowオブジェクトを主に用いて、処理をおこなってくださいね。 ただ、拡張が必要な場合は上記8つの組み込みクラス(関数オブジェクト)を用いて拡張してくださいね。] という扱いという認識をしています。 つまりJavaScriptの正確な仕様は上記の8つの組み込みクラスのみであって しかし、現実に上記だけでは何の処理もかけないため併せて、各プラットフォーム側で独自拡張したグローバルオブジェクト(ホストオブエジェクト)が 組み込まれる。 ブラウザだとwindow nodejsだとそのままglobalというホストオブジェクトが存在しますよね。 上記の内容であやまっている箇所があれば、指摘して頂き、ただしてほしいのです。 Javascriptにお詳しいかたよろしくご教授ください。

  • Javascriptでオブジェクト思考は可能でしょうか?

    Javascriptでオブジェクト思考は可能でしょうか? クラスを作成して、変数を隠ぺいして、コンストラクタ・メソッドとか 継承などできるのでしょうか? 簡単なサンプルがあれば助かります。

  • JavaScriptの関数オブジェクト

    JavaScriptの匿名関数から関数オブジェクトが作られるのはいつでしょうか。 ※ブラウザの実装によるかもしれませんが・・・ Callオブジェクトがその関数の実行時に毎回生成されるので、 処理コスト的に考えれば、関数オブジェクトはコンパイル時の1回だけで済むはずですよね? 関数コード自体はどんな呼び方しても共通なはずですから、 単に実行時に適切なCallオブジェクトをくっつけてあげるだけでいいはず・・・ (Functionコンストラクタ使うなら別でしょうけど) でも、クロージャについて「その都度、関数オブジェクトが生成されるのでメモリ効率が悪い」 という意見を割とあちこちのブログとかで見ます。 Callオブジェクトにでかいローカル変数が含まれると無駄、ってのなら分かるんですが。 このあたり、ECMAScriptの仕様では決められていない部分なのでしょうか。

  • 【PHP】コンストラクタ―について

    コンストラクタ―について検索して調べると概ね以下のように説明されています。 ---------------------------------- コンストラクタ インスタンス生成時にオブジェクトを初期化したい場合にコンストラクタメソッドを使用できます。 コンストラクタメソッドは以下のように引数を指定する事もでき、インスタンス生成時に__construct()が自動的に実行されます。 ---------------------------------- イマイチ判然としません。 「newによってインスタンスを作成される時に自動的に呼び出されるもの」と自分では解釈していました。 例えば以下のような場合 public function __construct($text) { $this->text = $text; } 【$text】の値をnewされることによって自動的に「保持」されるということなのでしょうか? 実際に表示させるときは【$posts[0]->show();】(show()メソッド)で表示させるわけですよね? その上には【private $text;】でプロパティがあります。 ごく基本的な質問かと思いますが、【public function __construct($text)】 コンストラクタ―を作成する理由がよくわかりません。 初学者でも分かりやすいように解説していただけないでしょうか? 宜しくお願い致します。 <記述サンプル> ------------------------------- <?php class Post { private $text; public function __construct($text) { $this->text = $text; } public function show() { printf('%s' . PHP_EOL, $this->text); } } class SponsoredPost extends Post { private $sponsor; public function __construct($text, $sponsor) { parent::__construct($text); $this->sponsor = $sponsor; } public function showSponsor() { printf('%s', $this->sponsor); } } $posts = []; $posts[0] = new Post('hello'); $posts[1] = new Post('hello again'); $posts[2] = new SponsoredPost('hello hello', 'Yahoo'); $posts[0]->show(); $posts[1]->show(); $posts[2]->show(); $posts[2]->showSponsor();

    • ベストアンサー
    • PHP
  • JavaScriptでコンストラクタについて

    現在、JavaScriptを勉強中なのですが、 コンストラクタについて質問です。 下記のようなコードの場合、document.getElementByIdで取得したID 以外、使いまわしが出来ませんが、 コンストラクタを使って、1ページで複数使用出来るようにするには、 どのように記述すれば良いのでしょうか? //-----JavaScript----- function addEvent(elm,listener,fn){ try{ elm.addEventListener(listener,fn,false); }catch(e){ elm.attachEvent("on"+listener,fn); } } var c,y,m,d; addEvent(window,"load",function(){ c = document.getElementById("customer_birthday_c"); y = document.getElementById("customer_birthday_y"); m = document.getElementById("customer_birthday_m"); d = document.getElementById("customer_birthday_d"); if(c.options[0].selected == true){ y.disabled = true; m.disabled = true; d.disabled = true; } }); //-----JavaScript----- どなたかご教授ください。 宜しくお願いいたします。

  • コンストラクタ クロージャ

    javascriptを学んでいますが、 コンストラクタとクロージャの使い道が分かりません。 どのような場合に、使うとメリットを感じるのでしょうか? よろしくお願いします。 jQueryと同時で発揮とかあるのでしょうか。。