タグ

JavaScriptとstudyに関するtomoworksのブックマーク (13)

  • や...やっと理解できた!JavaScriptのプロトタイプチェーン - maeharinの日記

    JavaScriptのプロトタイプチェーンについて理解しようとしたのだけど、prototypeとか__proto__とかごちゃごちゃになって、色んなブログを読んでもなかなか理解しきれなくて悶々としていたのだが、図を書いたらパッと理解できた!以下、情報ソースはなるべくECMAScript仕様書(3rd)を元にするようにして書きました なぜ分かりづらいのか? そもそも、なぜJavaScriptのプロトタイプチェーンは自分にとってこうも分かりづらかったのだろうか?自分なりに分析してみると、まず、「似ているが違う用語が沢山ある」という点がある。ざっとあげただけでも、「prototypeと__proto__」「__proto__と[[Prototype]]」「FunctionとFunctionオブジェクト」などがある。そして次に、「入り組んだ構造が動的に変化する」という点がある。上記のように似たよう

    や...やっと理解できた!JavaScriptのプロトタイプチェーン - maeharinの日記
  • JavaScript の new 演算子の意味: Days on the Moon

    JavaScript における new 演算子の動作は大まかにいって以下のとおりである。(new F() とした場合。) 新しいオブジェクトを作る。 1 で作ったオブジェクトの [[Prototype]] 内部プロパティ (__proto__ プロパティ) に F.prototype の値を設定する。 F.prototype の値がオブジェクトでないのなら代わりに Object.prototype の値を設定する。 F を呼び出す。このとき this の値は 1 で作ったオブジェクトとし、引数には new 演算子とともに使われた引数をそのまま用いる。 3 の返り値がオブジェクトならそれを返す。そうでなければ 1 で作ったオブジェクトを返す。 ここで「オブジェクトである」というのはプリミティブ値 (文字列、数値、真偽値、undefined 、null) ではないということだ。new Stri

  • prototype図示とnewの挙動 - web newbie

    多くの方に読んでもらえたのが何より嬉しい。 ブログ、書いて良かった、純粋に。ありがとうございます。 でも、はてぶページとか社内とかで、 「でも...もう一歩しっくりこない」という声もあって。。 話をしてて、以下の2つが理解できると、 Javascriptのprototype指向がしっくりくる(かもしれない)ことがわかった。 で、僕なりにそれをまとめてみようと思った。(くどくない程度に^^;) それは次の(1)と(2)の理解である。 (1)prototypeとオブジェクトの関連を図でイメージする。 (2)newの挙動を把握する。 この2つをきっちり理解すれば、 少なくとももう少しprototype指向がしっくりくると思う。 だから、前の記事でよく分からなかった人は、読んでいただければと思う。 題材は前回の記事と同じく、赤い箱と青い箱を取り上げる。 var Box = function(siz

    prototype図示とnewの挙動 - web newbie
    tomoworks
    tomoworks 2013/01/22
    なんとなく分かるけど、まだモヤモヤする!(涙)
  • web newbie - Javascript初心者からみたprototype

    http://d.hatena.ne.jp/amachang/20070413/1176421425 勉強会のあと、そしてこの記事の後、 もう一度自分の中でprototypeについてまとめてみた。 下の実行結果を見て、首をかしげた人は是非とも読んでいただければと思う。 (って、首をかしげるのは僕だけか?!) var Box = function(size){ this.size = size; }; Box.prototype = { color: "red" }; var box = new Box(10); alert(box.color); // red Box.prototype = { color: "blue" }; alert(box.color); // red var box2 = new Box(11); alert(box2.color); // blue Box.p

    web newbie - Javascript初心者からみたprototype
    tomoworks
    tomoworks 2013/01/22
    プロトタイプ。本を読んでもモンヤリしか理解できない自分…(汗)復習をば。
  • JavaScriptのプロトタイプチェインをちゃんと理解する - builder by ZDNet Japan

    前回までのおさらいと今回のあらすじ 前回まで、JavaScriptでオブジェクト指向を行う方法についてお話ししてきました。コンストラクタやthisオブジェクトなど、様々なことについてお話ししてきましたが、その中でも重要なのはプロトタイプという概念です。 プロトタイプについては前々回お話ししました。その内容を簡潔に表すと、「オブジェクトのメンバは、『オブジェクト自身→プロトタイプ』と言う順序で検索される」ということでした。 しかし、この話にはまだ先があります。それが「プロトタイプチェイン」と言う概念です。 「プロトタイプチェイン」は、JavaScriptプログラムの動作を理解する上ではある意味中核ともいえる概念で、またとても面白いところでもあります。 プロトタイプチェインとは? いきなりですが、プロトタイプってそもそも何なのでしょう? 前々回もお伝えしたとおり、「オブジェクト自身→プロトタイ

    JavaScriptのプロトタイプチェインをちゃんと理解する - builder by ZDNet Japan
    tomoworks
    tomoworks 2013/01/08
    頭こんがらがってます(TT)復習しなきゃ。
  • JavaScriptのイロハ:特集 - builder by ZDNet Japan

    builder by ZDNet Japanをご愛読頂きありがとうございます。 builder by ZDNet Japanは2022年1月31日にサービスを終了いたします。 長らくのご愛読ありがとうございました。

    tomoworks
    tomoworks 2013/01/08
    分かりやすいかも。復習用に。
  • 5 Minutes of Javascript

    Save 50% with code UNLOCK50 at checkout. View individual plans Save 50% on Pluralsight. Use code UNLOCK50 at checkout.

    5 Minutes of Javascript
  • 株式会社Techouse

    We Develop. 今日も生み出そう。世界にまだない価値を。明日も伸び続けよう。世界をより良くするために。 人が集まる場所。 価値が生まれる場所。 技術力と熱意を持つ人が、自然と集まる場所。まったく新しい価値を、社会に生み出す場所。Techouseは、唯一無二の「場所」であり続けます。

    株式会社Techouse
  • やっと理解できた!JSオブジェクト指向プログラミング再入門 | ゆっくりと…

    既に多くの方が JavaScript のオブジェクト指向的側面についての解説を記事にされていますが、読み手側から見ると、例えばプログラミング言語への習熟度やオブジェクト指向自体に対する理解度がマチマチなわけで、私自身、「おお、なるほど!」 っていう、頭の中のスイッチがパチンッ!と入るような境地には達していませんでした。 かつて私も オブジェクト指向なJavaScriptプログラミングのススメ なんていう翻訳記事を書いてはいるのですが、正直なところ prototype.constructor の存在は知りませんでしたし、Function.call や Function.apply をどう使えばよいのかなどをちゃんと理解できてはいませんでした。 そんな中、2011年12月に書かれた Doc Center | Mozilla Developer Network の記事 オブジェクト指向 Java

    tomoworks
    tomoworks 2012/12/28
    復習用
  • [JavaScript] 猿でもわかるクロージャ超入門 まとめ - DQNEO起業日記

    クロージャとは クロージャは、言葉で説明するのが大変難しい概念です。 あなたは、自転車の乗り方を、口だけで説明できるでしょうか? あなたは、螺旋(らせん)の形を、言葉だけで説明できるでしょうか? ずばり、できないでしょう。 しかし、自転車に乗ることはできますし、針金で螺旋の形を作ることはできるでしょう。 「クロージャ」もこれと同じです。 だから、Wikipediaのこんな解説を見ても落ち込まないでください。 クロージャ (クロージャー、Closure) は、プログラミング言語において引数以外の変数を実行時の環境ではなく、自身が定義された環境(静的スコープ)において解決する関数のことである。 理解できないですよね? 私もそうでした。 クロージャを既に知っている人にしか、この文章は理解できないでしょう。 クロージャを作るのは難しくない しかし、説明するのは難しくても、作るのは意外と簡単。それが

    tomoworks
    tomoworks 2012/12/28
    クロージャ。おかげさまで理解できました(合掌)
  • 【コラム】そろそろきっちりJavaScript (2) 無名関数についてもう少し考える | エンタープライズ | マイナビニュース

    無名関数のメリット 前回の記事では、無名関数を関数リテラルに割り当てるという操作を紹介した。なぜ、このような記法により関数を定義するのだろうか。 まず、無名関数を採用するメリットには、「命名する必要の無い関数をシンプルに記述できる」「(複数ファイルのJavaScriptライブラリを読み込んでいるときなどにおいて)、既存の関数/変数名との衝突を回避できる」という点が挙げられる。 前回の冒頭で述べた通り、JavaScript関連ライブラリが数多く存在し、多くのシーンでそれを活用している今日、既存のライブラリやソースコードと名前が衝突しない事がどれだけ重要であるかは想像に難くないだろう。 それでは、命名する必要の無い関数とはどのようなものだろうか。また、無名関数だと変数名の有効範囲はどのように決まっているのだろうか。ここで、前回に引き続きFirebugで以下のコマンドを実行し、動作を確認してみよ

    tomoworks
    tomoworks 2012/12/28
    ちょと混乱したので復習を
  • 第2回 JavaScriptの関数をマスターしよう - @IT

    JavaScriptが、いま注目を浴びている。 前回も紹介したように、JavaScriptが復権を果たした背景にはさまざまな要因が考えられるが、その契機ともなったキーワードを1つだけ挙げるとするならば、「Ajax(Asynchronous JavaScript And Xml)」を外すことはできないだろう。Ajaxという技術の登場によって、JavaScriptによるリッチなユーザー・インターフェイス構築の可能性が示されたことで、JavaScriptの価値は確実に見直されつつある。 連載は、JavaScript復権のいまこの時代に求められる、JavaScriptという言語への理解を再確認しようというものだ。連載初回ではまずJavaScriptの苦渋の10年間を振り返りながら、JavaScriptという言語にまとわりつく誤解の払拭を試みた。JavaScriptという「不遇な」言語にこれまで向

    第2回 JavaScriptの関数をマスターしよう - @IT
    tomoworks
    tomoworks 2012/12/25
    復習をば。
  • JavaScript入門講座

    今日の内容 JavaScriptを勉強し始めくらいの人を対象にしたJavaScript入門講座的なもの 文法とかは調べればわかるのでふれません 一人で勉強してもわからなそうな概念などを重点的に説明します ライブコーディングするのでJavaScriptってこんな感じて作るんだなーというのがわかってもらえればと アジェンダ JavaScriptを勉強する前に JavaScriptの基礎知識 ライブコーディング part1 jQueryの基礎知識 ライブコーディング part2

  • 1