リポジトリ
N/A
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
{{tag>book}} ====== Speaking JavaScript ====== 15 26 47 54 81 100 ''node''で対話実行しながら学ぶ。 話題があまりに細かい内容なので実際動かして学べない。またいつか戻ってこよう…。 ===== 1 javascript quick start ===== * primitive型とオブジェクト型。primitive型はプロパティを変更できず、オブジェクトは変更できる。 primitiveは値で比較し、オブジェクトは参照で比較する。 <code javascript> var obj0 = {}; var obj1 = {}; obj0 === obj1 # => false obj0 === obj0 # => true </code> <code javascript> var prim1 = 123; var prim2 = 123; prim1 === prim2 # => true </code> また、 <code javascript> obj = {} obj.str = "a" obj.str # => "a" </code> <code javascript> str.foo = "a" str.foo # => "undefined" </code> * ''typeof'': 型を判別する。 * ''typeof null # => object #これはバグらしい'' * メソッドだけ抜き出すと変数は保持されない。 <code javascript> var jane = { name: 'Jane', describe: function() { return 'Person named '+this.name; } }; jane.description() # => Person named Jane func = jane.description func() # => Cannot read property 'name' of undefined </code> そういうとき''bind''を使う。 var jane = { name: 'Jane', friends: [ 'Tarzan', 'Cheeta' ], logHiToFriends: function() { 'use strict'; this.friends.forEach(function (friend){ console.log(this.name+' says hi to '+friend); }); } } ===== 2 background ===== JavaScriptには明るい未来が待っていますと。 ===== 3 JavaScriptの本質 ===== 言語の特徴、影響を受けた言語など。Wikipediaの内容みたい。 ===== 4 どうやって作られたか ===== いろいろあってスーパーエンジニアがプロトタイプを10日で作った。 名前もいろいろあって変わりまくって結局JavaScriptという紛らわしい名前に。 ===== 5 標準化 ===== ECMAScript ===== 6 マイルストーン ===== 歴史上はじめてのAjaxなアプリはGoogle Map。そこから派生した。 ===== 7 JavaScriptの文法 ===== まあ、いろいろあるんですね…。 strictモードの動きとかもある。 ===== 8 値 ===== 型とか。 細かい!nullの歴史とか飛ばす。 適当に読んだら最後らへん意味不明。 ?? <code javascript> > var n = { valueOf: function () { return 123} }; > Number(n) 123 > String(n) '[object Object]' </code> ?? <code javascript> > var s = { toString: function () { return '7'; } }; > String(s) '7' > Number(s) 7 </code> ===== 9 オペレータ ===== ほとんどのオペレータはprimitive value でしか働かない。 + とかそうだな。 複合オペレータ。+=とか。 == の挙動。変換されてから比較される。 たとえば <code javascript> > '' == false // 0 === 0 true > '' == true // 1 === 1 true </code>
blog/2020/1206_speaking_javascript.txt
· 最終更新: 2020/12/10 23:30 (外部編集)
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ