Edited at

JavaScriptに再入門しようと思った オブジェクト編

More than 1 year has passed since last update.


目次

基本構文編

オブジェクト編

関数編


オブジェクト

 物の集合という認識は間違えではないが、概念説明において不足している点が多い。

 オブジェクトそのもの自体が一つのモノであり、そのモノに集まる動作や特性の集合体であり、オブジェクトというときはここの要素ではなくオブジェクトそのものが主役になる。


インスタンス化

 配列のようにオブジェクトは参照型であるから、代入をした際に複数の動作でアクセスがあるとデータの競合が発生してしまいます。その際にオブジェクトのデータを保持したまま複製を生成します。

//動的

var 変数名 = new オブジェクト名([引数 [...] ]);
変数名.プロパティ名[= 設定値];
変数名.メソッド名([引数 [...] ]);
//静的
オブジェクト名.プロパティ名[= 設定値];
オブジェクト名.メソッド名([引数 [...] ]);


組み込みオブジェクト

オブジェクト名
提供

Object
オブジェクトのひな型機能

Array
配列を操作する手段

Map/WeakMap
連想配列を操作するための手段

Set/WeakSet
一意な集合の管理する手段

String
文字列型を操作するための手段

Number
数値型を操作する手段

Boolean
真偽値を操作するための手段

Function
関数を操作する手段

Symbol
シンボル操作する手段

Math
算術演算実行手段

Date
日時操作

RegExp
正規表現

Error/xxxError
error情報管理

Proxy
オブジェクトの挙動をカスタマイズする手段

Promise
非同期処理の実装手段

これらのオブジェクトはJavaScriptにそのまま組み込まれているものでインスタンス化は意識せずに行われている。



String

var str ='hello';

console.log(str.length);

これはStringオブジェクトのlengthメンバーを利用

分類
メンバー名
概要

検索
indexOf (subStr, [start])
前方一致検索

lastIndexOf (subStr, [start])
後方一致検索

startsWith (search, [position])
startが一致するか

endsWith (search, [position])
末尾が一致

includes(search, [position])
内容が含まれているか

部分文字列
charAt(num)
文字列抽出(一文字)

slice(start,[end])
文字列抽出(区間)start > endの場合は空文字を返す また引数が負数の場合は後方から数える

substring(start, [end])
文字列抽出(区間)start > endの場合は入れ替えを行う また引数が負数の場合は0とする

substr(start, [cnt])
startからcnt文字分抽出

split(str,[limit])
分割文字strからlimit文の分割を行う

正規表現
match(reg)
正規表現の部分一致

replace(reg, rep)
正規表現で一致した個所を置き換え

search(reg)
正規表現を一致した際の位置

大文字小文字
toLowerCase()
小文字に変換

toUpperCase
大文字に変換

その他
concat(str)
文字列の後方に文字列strを連結

repeat(num)
文字列をnum回だけ繰り返したものを取得

trim()
文字列の前後から空白文字の削除

length
長さ取得


Number

メンバー名
概要

toString(rad)
進数変換

toExponential(dec)
指数形式変換(decは小数点以下の桁数)

toFixed(dec)
四捨五入(decの位になるように)

toPrecision(dec)
指定桁数変換(桁数不足分は0補完)

*isNaN(num)
NaNであるか

*isFinite(num)
有限値であるか判定

*isInteger(num)
整数値であるか

*isSafeInteger(num)
安全な整数値であるか

*parseFloat(str)
文字列を小数点に変換

*parseInt(str)
文字列を整数値変換


シンボル

 生成時にユニークな値となり再生成ができない一見変わった性質を持っている。

 シンボルについて別途後でまとめる。


Math

数が多いため今後必要に応じてまとめるが、random(乱数)やsign(正負判定)、またpow(べき乗)、ceil(切り上げ)、floor(切り捨て)、round(四捨五入)が存在する。


array

メンバー名
概要

length
配列数を図る

isArray
配列であるか

toString
配列の内容を" 1,2,3,4,5 "のような形式で返す

indexOf
配列に入っていた場合初めのキーを返す

lastIndexOf
indexOfを逆順にしたもの

entries
すべてのキー/値を取得

keys
すべてのキーを取得

values
値をすべて取得

concat()
配列の連結を返す

join(del)
配列内の要素をdelを挟み連結をする

slice(start,[end])
要素切り出し

splice(start, cnt, [rep ])
配列内のstart+1からcnt文の要素をrepで置き換える

from(start[, map [,othis] ])
配列ライクなオブジェクト、列挙可能なオブジェクトを配列に変換

of
可変長引数を配列に変換

copyWithin(target, start[,end])
start+1からtarget+1までをコピー

fill(val,[start,[end]])
指定しない場合はすべてを埋め、指定した場合はその範囲をvalで埋める

pop
スタックと同じで配列の後ろから吐き出す

push
スタックと同じでスタックの後ろに入れる。返り値が次の配列数

shift
先頭を取り出し削除

unshift
先頭に追加

reverse
並びを逆順に

sort
要素の昇順に

コールバック系

メンバー名
概要

forEach
配列内の要素を関数funcで処理

map
配列内の要素を関数ないで加工

every
すべての要素が関数のreturnに一致するか

some
いずれかの要素が関数のreturn一致するか

filter
条件関数に合致した要素で配列を再生成する

find
関数で初めにtrueになった要素を返す

findIndex
関数で初めにtrueになった要素番号を返す


Map : 連想配列

メンバー名
概要

size
要素数

set(key, val)
keyとvalをセットで追加

get(key)
指定したものを取得

has(key)
存在確認

delete(key)
削除

clear
すべて削除

keys
すべてのkeyを取得

values
すべてのvalueを取得

entries
すべてのkeyとvalueを取得

foEach(func , [that])
順繰りに関数で処理

let map = new Map();

map.set('name','Azara');


Set : 重複をしない値の配列

メンバー名
概要

size
要素数

add(val)
valを追加

has(key)
存在確認

delete(key)
削除

clear
すべて削除

values
すべてのvalueを取得

entries
すべてのkeyとvalueを取得

foEach(func , [that])
順繰りに関数で処理


RegExp

正規表現に関してはこちら

オプション
概要

g
文字列全体に対してマッチするか

i
大小文字識別

m
複数行に対応しているか

u
Unicode対応

var p = new RegExp('http(s)?://([\\w]+\\.)+(/[\\w-./?%$&=#]*)?', gi)

のような方法で正規表現を代入可能であり、通常の正規表現だいにゅいうも可能である。

- match

正規表現の入った変数で利用可能なメソッドで、比較した文字を引数に入れる。


objectオブジェクト

 objectのオブジェクトは全てのオブジェクトの雛形として共通的な性質や機能を提供するオブジェクト。

詳しくはこちら

詳しく書くのはプロトタイプの時にします。


Globalオブジェクト

今までのオブジェクト異なり、このオブジェクトはグローバル変数やグローバル関数を管理するための便宜的なオブジェクト。

 グローバル変数や関数は他のオブジェクト配下に属さないトップレベルの変数/関数で、自分自身を定義することも可能。

 JavaScriptでいくつかのグローバル変数/関数をデフォルトで提供しています。

変数名; //参照可能

関数名(引数); //使用可能


参考資料

学習に利用している本

改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで

mozilla