内容へ移動
Water Sunlight
軽量プログラミングの文法 - JavaScript/Python
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
トレース:
•
JavaScript プロトタイプチェーン
•
JavaScript 制御構文
js:object:object
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== JavaScript Objectオブジェクト ====== --- //[[http://www.y2sunlight.com/water|y2sunlight]] 2021-03-30// ===== 概要 ===== 全てのオブジェクトの共通的な性質/機能を提供する。 Objectメンバ(主要なもの) ※その他プロパティ/プロトタイプ/変更可否に関するものもある。 |メンバ|概要| |constructor|インスタンス化で使用されたコンストラクタ| |toString()|インスタンスの文字列表現の取得| |toLocaleString()|インスタンスの文字列表現の取得(地域依存)| |valueOf()|インスタンスの基本型表現の取得(基本型を取得)| |create() ※|与えられたオブジェクトから新しいインスタンスを作る| |assign() <sup>[[js:top#ECMAScript|*2015]]</sup> ※|与えられたオブジェクトのコピー| |is() <sup>[[js:top#ECMAScript|*2015]]</sup> ※|与えられたオブジェクトの比較| ※ 静的メソッド \\ \\ ===== create()メソッド ===== <code javascript> Object.create(proto, props); // 新しいオブジェクトを作る </code> === いろいろなオブジェクトの作り方 === <sxh javascript;title:Example> // 方法1 var obj = {name:'taro', age:17}; // 方法2 var obj = new Object(); obj.name = 'taro'; obj.age = 17; // 方法3 var obj = Object.create(Object.prototype, { name: {value:'taro', writable:true, configurable:true, enumerable:true}, age: {value:17, writable:true, configurable:true, enumerable:true} }); </sxh> ※詳しくは[[https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/create|MDN]]参照 \\ ===== assign()メソッド ===== <code javascript> Object.assign(target, source1, …); // オブジェクトのマージ </code> <sxh javascript;title:Example> Student1 = {name:'taro', age:17}; Student2 = {name:'hanako', tel:'090-1234-56789'}; Object.assign(Student1,Student2); console.log(Student1); // 結果 {name:'hanako', age:17, tel:'090-1234-56789'} console.log(Student2); // 結果 {name:'hanako', tel:'090-1234-56789'} // マージせずに新しいオブジェクトを作る時 Object.assign({}, Student1); // taroのみコピー Object.assign({}, Student1, Student1, Student2); // taroをコピーしてhanakoをマージ </sxh> \\ ===== 不変オブジェクト ===== * インスタンス生成後、一切の状態を変更できないオブジェクト * JavaScriptではObjectオブジェクトの静的メソッドを使用して不変オブジェクトを定義できる 《変更可否を操作する静的メソッド》 | |設定|確認| |プロパティの追加禁止|preventExtensions(obj);|isExtensible(obj)| |プロパティの追加/削除禁止|seal(obj)|isSealed(obj)| |プロパティの追加/削除/変更禁止 \\ (不変オブジェクト)|freeze(obj)|isFrozen(obj)| ※Strictモードを有効にしないと変更しようとしても例外発生しない。有効にする事を推奨
js/object/object.txt
· 最終更新: 2022/01/27 13:32 by
tanaka
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ