JavaとJavaScriptはメロンとメロンパンぐらい違う!!
- 10. • Androidが今は人気
• Mac, Win, 組み込み
(DVDプレイヤーとか),
• Virtual Machineが
各OSの差異を吸収
• ブラウザ
のために作られたわけだからね。
• ブラウザが各OSの差
異を吸収
• NodeJS
ここ数年でできた。
• 軽量なWebサーバーとし
て活用されている
• Japanameでも使っている
特徴
実行環境 JavaVM
30億のデバイスで走る
ブラウザ
とは限らないけど。
Java JS
- 20. JSのオブジェクト指向
• オブジェクト指向とは
• {} はいオブジェクト完成
• JSにおけるオブジェクトの正体
• プロパティアクセスの仕方二種類
[“prop”], .prop
• いろんなオブジェクトの作り方 WORK
• 配列の正体:Keyが主に整数の、lengthプロパ
ティをもつオブジェクト
- 26. いろんな作り方
• オブジェクトリテラル {}
• コンストラクタfunction(後述)
• Class (ES6の機能。シンタックスシュガー)
• WORK
• オブジェクトを定義して、
• プロパティを読み出し、
• 後から追加してみよう。
• 例題:定義、読み出し、追加、
- 30. 関数が変数に入れられるだ
と・・・?
• var func = function(a,b) {return a + b } ; !?!?
• 実はCでもできるんだけど。。型が必要!
関数へのポインタ型ってやつ。
これがクソややこしい。
• JSなら変数に型がないおかげで、var funcです
むね!
- 48. Express
• スタックの差 図
• Webのキホンおさらい 図
• サーバー:クライアント リクエスト:レスポンス
• Express generator
• フォルダ一覧
• app.js
• views
• routes
• Public
- 50. ネタ帳
• Cと基本文法は同じ if,whileとかreturn とか
• var a = 0 function(str, obj) 名前重要!!!
• イントロダクション
• 違いリスト
• 基本
• 出力 console.log alert
• DOMオブジェクト取得 document.getElementById(“id”);
• JSのオブジェクト
• オブジェクト指向とは 主人公.持ち物 でとらえる考え方。
• クラスベースオブジェクト指向は、はじめに一般的なものをつ
くってインスタンス化する
• たとえば、
• {} はいオブジェクト完成。 {a:0} {b:3} {c:1} <ハハハ見たか
DONE
• JSにおけるオブジェクトの正体 オブジェクトとはただの連
想配列!A->b c-> d
• ハッシュテーブルともいう PHPでは、オブジェクトと連想配列は
別物
• アクセスの仕方二種類 [“prop”], .prop
• プロパティ増やせる!
• いろんな作り方 WORK 例題:定義、読み出し、追加、
• リテラル, コンストラクタfunctionあとで, class(クラスっぽく見せ
るシンタックスシュガー)
• 配列の正体:Keyが主に整数の、lengthプロパティをもつオ
ブジェクト
- 51. ネタ帳
• JSの関数
• var func = function(a,b) {return a + b } ; !?!?
• 実はCでもできるんだけど。。型が必要!関数へのポインタってやつ。
これがクソややこしい。
• JSなら変数に型がないおかげで、var funcですむね!
• 変数に入れられる。
• ということは、関数の引数に関数をいれることも、関数の戻り値として関数を返すこともでき
る!
• WORK ブラウザで、イベント処理 .addEventListener(“click”, function());
• Functionが外の変数を参照する場合
• メソッドの正体:オブジェクトのプロパティとして追加された関数
• this 変数。実行するときに、どういうコンテキストで実行されるかによって、thisの中身がかわ
る!
• 関数追加、実行
• イベント WORK
• オブジェクトをコンストラクトする機能がある。
• Thisがあたらしく作られたオブジェクトになる。
• プロトタイプ継承 ・・・ややこしいから今日はやらない
• JSの非同期処理
• 並行性についての通常のアプローチ
• スレッド・・・問題が起こる。ややこしい。
• JSのアプローチ
• 細かい仕事をちょこちょこ進める。
• 時間のかかる処理(ネットワーク処理)は、終わったら知らせる
• 書いた順番通りに実行されない!?
• timeOut
• ajaxの例 xhrコード 好きなサイトのリソースをとってこよう!
• 処理の入れ子のイメージのちがい: スタックかそうでないか
• イベントループ いつもぐるぐる回っている
• 図クリックされてないかな?通信はおわったかな?アニメーションを描画しよう
• その他
• 変数がない場合はundefined 怒られるわけではない!
• || && の解釈の違い
- 52. ネタ帳
• NodeJS
• コマンド実行:インタラクティブ環境:
Pythonなどとおなじ
• npmの使い方
• フォルダの中にインストール
• -Sオプション ->package.jsonが作られる
• -g グローバルにコマンドとして使えるようになる
• Express
• スタックの差 図
• Webのキホンおさらい 図
• サーバー:クライアント リクエスト:レスポンス
• Express generator
• フォルダ一覧
• app.js
• views
• routes
• Public
• 掲示板をつくろう!
• 続きはライブコーディングにて!