<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[JavaScriptオブジェクトの作成方法]]></title><description><![CDATA[<h2>構文構造を利用</h2><p><u>例１：</u></p>
<pre>
var o = {
  a: 1
}; </pre><p>上記のoは Object.prototype をプロトタイプとして生成され、 o.hasOwnProperty('a') がtrueを戻します。</p><p><u>例２：</u></p>
<pre>
var a = ["yo", "whadup", "?"]; </pre><p id="コンストラクタ関数を用いる方法">上記のaは Array.prototype をプロトタイプとして生成され、三つの要素を持ちます。<br /></p><h3 class="sectionedit14" id="コンストラクタ関数を用いる方法">コンストラクタ関数を利用</h3>
<p>JavaScriptに於ける「コンストラクタ」は、関数を new 演算子を使って呼び出す事で実現可能です。 </p><p>下記のコードを例とします。</p>
<pre>
function Graph() {
  this.vertexes = [];
  this.edges = [];
} 
Graph.prototype = {
  addVertex: function(v){
     this.vertexes.push(v);
  }
}; 
var g = new Graph(); <br /></pre>
<p id="objectcreate_メソッドを用いる方法">上記のコードで生成されるg は「vertexes」と「edges」の自身のプロパティを持つオブジェクトであり、 g.&lsqb;&lsqb;Prototype&rsqb;&rsqb; はインスタンス化する時点の Graph.prototype の値になります。</p><h2 id="objectcreate_メソッドを用いる方法">Object.Create メソッドを利用</h2>
<p>ECMAScript 5 は Object.create という新しいメソッドを紹介しています。このメソッドを呼び出すと、新しいオブジェクトが生成されます。<br />関数の最初の引数が、このオブジェクトのプロトタイプになります。 </p>
<pre>
var o1 = { // o1 ---&gt; Object.prototype ---&gt; null
  a: 1
};  
var o2 = Object.create(o1); // o2 ---&gt; o1 ---&gt; Object.prototype ---&gt; null 
console.log(o2.a); // 1 (継承された) 
var o3 = Object.create(o2); // o3 ---&gt; o2 ---&gt; o1 ---&gt; Object.prototype ---&gt; null 
var o4 = Object.create(null); // o4 ---&gt; null 
console.log(o4.hasOwnProperty); // undefined、なぜなら o4 は Object.prototype から継承していないからです。 </pre>]]></description><link>http://www.isummary.jp/topic/26/javascriptオブジェクトの作成方法</link><generator>RSS for Node</generator><lastBuildDate>Sun, 09 Aug 2026 16:06:13 GMT</lastBuildDate><atom:link href="http://www.isummary.jp/topic/26.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 29 Jun 2019 08:21:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to JavaScriptオブジェクトの作成方法 on Sat, 29 Jun 2019 08:21:26 GMT]]></title><description><![CDATA[<h2>構文構造を利用</h2><p><u>例１：</u></p>
<pre>
var o = {
  a: 1
}; </pre><p>上記のoは Object.prototype をプロトタイプとして生成され、 o.hasOwnProperty('a') がtrueを戻します。</p><p><u>例２：</u></p>
<pre>
var a = ["yo", "whadup", "?"]; </pre><p id="コンストラクタ関数を用いる方法">上記のaは Array.prototype をプロトタイプとして生成され、三つの要素を持ちます。<br /></p><h3 class="sectionedit14" id="コンストラクタ関数を用いる方法">コンストラクタ関数を利用</h3>
<p>JavaScriptに於ける「コンストラクタ」は、関数を new 演算子を使って呼び出す事で実現可能です。 </p><p>下記のコードを例とします。</p>
<pre>
function Graph() {
  this.vertexes = [];
  this.edges = [];
} 
Graph.prototype = {
  addVertex: function(v){
     this.vertexes.push(v);
  }
}; 
var g = new Graph(); <br /></pre>
<p id="objectcreate_メソッドを用いる方法">上記のコードで生成されるg は「vertexes」と「edges」の自身のプロパティを持つオブジェクトであり、 g.&lsqb;&lsqb;Prototype&rsqb;&rsqb; はインスタンス化する時点の Graph.prototype の値になります。</p><h2 id="objectcreate_メソッドを用いる方法">Object.Create メソッドを利用</h2>
<p>ECMAScript 5 は Object.create という新しいメソッドを紹介しています。このメソッドを呼び出すと、新しいオブジェクトが生成されます。<br />関数の最初の引数が、このオブジェクトのプロトタイプになります。 </p>
<pre>
var o1 = { // o1 ---&gt; Object.prototype ---&gt; null
  a: 1
};  
var o2 = Object.create(o1); // o2 ---&gt; o1 ---&gt; Object.prototype ---&gt; null 
console.log(o2.a); // 1 (継承された) 
var o3 = Object.create(o2); // o3 ---&gt; o2 ---&gt; o1 ---&gt; Object.prototype ---&gt; null 
var o4 = Object.create(null); // o4 ---&gt; null 
console.log(o4.hasOwnProperty); // undefined、なぜなら o4 は Object.prototype から継承していないからです。 </pre>]]></description><link>http://www.isummary.jp/post/26</link><guid isPermaLink="true">http://www.isummary.jp/post/26</guid><dc:creator><![CDATA[峯文]]></dc:creator><pubDate>Sat, 29 Jun 2019 08:21:26 GMT</pubDate></item></channel></rss>