JavaScript Study

JavaScript Study のため、後で見返す価値の高いサイトのランキング
解説 2017-12-22 更新  1,379 Views
カテゴリー:JavaScript   属性:解説   閲覧数:1379  投稿日:2014-06-25  更新日:2017-12-22  


1 位:JavaScript プログラミング講座 / 2 位:そんな継承はイヤだ - クラス定義 - オブジェクト作成 / 3 位:他人にやさしいソースコードの書き方 コーディング規約 / 4 位:Google JavaScript Style Guide 和訳 / 5 位:詳細 ECMA-262-3 第7章2節 OOP: ECMAScript での実装 / 6 位:DOM | EMCAScript5追加内容をコードで確認 / 7 位:これやっとけば一生安泰ってライブラリなんてない / 8 位:bind()を使って部分適用 | Function.prototype.bind()

1

 

JavaScript プログラミング講座

http://hakuhin.jp/js.html

・組み込みオブジェクトの各プロパティとメソッドを、コードとともに解説している

Objectオブジェクト

toString()
・オブジェクトから文字列情報を取得

valueOf()
・オブジェクトから値情報を取得

hasOwnProperty()
・指定したプロパティ名が存在するか調べる

isPrototypeOf()
・指定したオブジェクトが、自身のプロトタイプであるか調べる(プロトタイプチェーンを含む)

Object.create()
・プロトタイプを指定して、オブジェクト作成

Object.defineProperty()
・初期化用パラメータ(記述子)を指定して、1つのプロパティ追加

Object.defineProperties()
・初期化用パラメータ(記述子)を指定して、複数のプロパティ追加

Object.getOwnPropertyDescriptor()
・プロパティ名を指定して、プロパティの設定パラメータ(記述子)を取得

Object.getOwnPropertyNames()
・すべてのプロパティ名を、配列形式でまとめて取得

Object.keys()
・列挙可能なプロパティ名を、配列形式でまとめて取得

Object.getPrototypeOf()
・指定したオブジェクトからプロトタイプオブジェクトを取得

Object.preventExtensions()
・オブジェクトを拡張禁止に設定(プロパティの追加が不可能)

Object.seal()
・オブジェクトを封印状態に設定(プロパティの追加と削除が不可能)

Object.freeze()
・オブジェクトを凍結状態に設定(プロパティの追加と削除と書込が不可能)

Object.isExtensible()
・拡張可能状態であるか調べる

Object.isSealed()
・封印状態であるか調べる

Object.isFrozen()
・凍結状態であるか調べる

2

 

そんな継承はイヤだ - クラス定義 - オブジェクト作成

http://qiita.com/LightSpeedC/items/d307d809ecf2710bd957

instanceof Object
・true → Object の一種

instanceof Array
・true → Array

constructor による確認
・constructor を使用すると、オブジェクトが誰によって作成されたのか、つまりどのクラスのオブジェクトなのか確認することができる

3

 

他人にやさしいソースコードの書き方 コーディング規約

http://www.hp-stylelink.com/news/2013/10/20131008.php

・GoogleコーディングガイドラインのJavaScript編を紹介
・Revision 2.93版

変数の宣言
・変数の宣言をする場合は、必ずvarを宣言

定数の宣言
・定数を宣言する場合は、NAME_LIKETHISのように、大文字とアンダースコア()を用いて宣言
・JSDocで@constを定義しても定数として扱うことが出来る
※constでの定数宣言は、IEでサポートされていないので使用しない

4

 

Google JavaScript Style Guide 和訳

http://cou929.nu/data/google_javascript_style_guide/

・Google JavaScript Style Guide を非公式に和訳
・Revision 2.11

var
・変数宣言には常に var をつける
・宣言時に var を付けなかった場合、その変数はグローバルコンテキストに置かれ、既存の変数が汚染される可能性がある
・宣言がない場合は、その変数がどのスコープなのかが分かりづらくなる
・常に var をつけるべき

5

 

詳細 ECMA-262-3 第7章2節 OOP: ECMAScript での実装

http://alpha.mixi.co.jp/2012/10820/

プリミティブ値型
・オブジェクトではない
・プロトタイプも、コンストラクタも保持しない

typeof 演算子に null 値が与えられると?
・null 値の型は Null と定められている事実にもかかわらず、結果は "object" となる

6

 

DOM | EMCAScript5追加内容をコードで確認

http://memo.yoshimax.net/javascript/

ノードウォーキングとは?
・DOMでは、getElementByIdなどで直接ノードを取得する以外にも、相対的にノードを取得する事が可能
・このように相対的にノードを取得する方法をノードウォーキングと呼ぶ

ノードウォーキングでよく使われるNodeオブジェクトのメンバーを確認
・ノードウォーキングで使われるメンバー一覧

プロパティ名説明
firstChild最初の子ノードを取得
lastChild最後の子ノードを取得
perviousSibling直前のノードを取得
nextSibling直後のノードを取得
childNodes.length子ノードに含まれるノード数を取得
parentNode最親ノードを取得

7

 

これやっとけば一生安泰ってライブラリなんてない

https://gist.github.com/mizchi/9635965

結論
・あと2年ぐらい待てばなんかデファクト出るのでは

jQueryの問題
・スクレイパー的API
・メンテナンス辛い

Angularの問題
・DSLが汚い

DSLとは?
・ドメイン特化言語(Domain Specific Language=DSL)
・ある特定の種類の問題に特化したコンピュータ言語
・様々な問題に対応できる汎用的な言語ではない

Backbone.Modelのリアクティブ的限界
・データ監視が賢くない
・まともなデータバインドが作れない

8

 

bind()を使って部分適用 | Function.prototype.bind()

http://rdepf.hatenablog.jp/entry/2014/02/25/195352

bind() メソッドとは?
・関数オブジェクトのメソッド
・呼び出された時に新しい関数を生成

特徴
・「関数内で参照できる this」 を、指定オブジェクトへ束縛可能
・「関数の引数」も束縛可能

第1引数
・bind(束縛)され、返される関数内でthisとして働く
※新しい関数の this キーワードへセットされる

補足
・複数の仮引数を取ることが可能
・bindされた関数が呼び出されると、bindされる後続のすべての仮引数は、その仮引数リストの前に付加される
※第2以降引数は、新しい関数より前に、ターゲット関数の引数として与えられる



コメント投稿(ログインが必要)



週間人気ページランキング / 3-13 → 3-19
順位 ページタイトル抜粋 アクセス数
アクセスが、ありませんでした! 0
2025/3/20 1:02 更新
指定期間人気ページランキング / 2023-2-7 → 2025-3-19
順位 ページタイトル抜粋 アクセス数
1 Webサイトランキング 10 動作確認用デモ 292
2 素材 カテゴリー | Webサイトランキング 10 動作確認用デモ 29
3 「エレメカ」サイトランキング | エレメカ(ゲーム) | サイトランキング 26
4 シミュレーション カテゴリー | Webサイトランキング 10 動作確認用デモ 23
5 壁紙 カテゴリー | Webサイトランキング 10 動作確認用デモ 19
6 エレメカ カテゴリー | Webサイトランキング 10 動作確認用デモ 18
7 感覚 カテゴリー | Webサイトランキング 10 動作確認用デモ 16
7 JavaScript カテゴリー | Webサイトランキング 10 動作確認用デモ 16
7 アカウント作成 | サイトランキング 16
8 「こころと脳の病」サイトランキング | 感覚(人) | Webサイトランキング 10 動作確認用デモ 14
8 カテゴリー一覧(メイン+サブ) | Webサイトランキング 10 動作確認用デモ 14
8 ハイクオリティな無料壁紙 | 壁紙(デザイン) | Webサイトランキング 10 動作確認用デモ 14
8 ラーメン カテゴリー | Webサイトランキング 10 動作確認用デモ 14
8 道路 カテゴリー | Webサイトランキング 10 動作確認用デモ 14
9 手口 カテゴリー | Webサイトランキング 10 動作確認用デモ 12
9 美術 カテゴリー | Webサイトランキング 10 動作確認用デモ 12
9 ログイン | Webサイトランキング 10 動作確認用デモ 12
10 パブリックドメイン系の海外高品質無料画像 | 素材(デザイン) | Webサイトランキング 10 動作確認用デモ 9
10 JavaScript Study | JavaScript(プログラミング) | Webサイトランキング 10 動作確認用デモ 9
10 イラスト系ベクター素材無料配布 | 素材(デザイン) | サイトランキング 9
2025/3/20 1:02 更新