Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2017-07-21 MTGアジェンダ #263

Closed
azu opened this issue Jul 20, 2017 · 51 comments · Fixed by #265
Closed

2017-07-21 MTGアジェンダ #263

azu opened this issue Jul 20, 2017 · 51 comments · Fixed by #265

Comments

@azu
Copy link
Collaborator

azu commented Jul 20, 2017

2017年7月21日のミーティングアジェンダを書く場所

@azu azu added the Type: Meta label Jul 20, 2017
@lacolaco
Copy link
Collaborator

lacolaco commented Jul 21, 2017

#237 #259
JSON.stringify の例外的な挙動をするオブジェクトの扱い

JSON.parse の第2引数に触れるかどうか
使うユースケースあんまりないと思うんだけど、リファレンス的に触れるか流すかの判断

あとajaxappのJSON.parseがtry-catchされてないからしたほうがよさそう

@azu
Copy link
Collaborator Author

azu commented Jul 21, 2017

配列 #49 はあと少し。

次は 関数をやる予定 #112

関数どういう流れでやるか考えたい

@azu
Copy link
Collaborator Author

azu commented Jul 21, 2017

typoとか見つけたら簡単にIssue切れます。

image
書いた文章をレビューしてGitHubにIssueを切るためのGitBookプラグイン | Web Scratch

@azu
Copy link
Collaborator Author

azu commented Jul 21, 2017

JSON

JSONの章でどこまで扱うかについて。

@azu
Copy link
Collaborator Author

azu commented Jul 21, 2017

  • プリミティブ か オブジェクト
  • オブジェクトのうち 列挙可能?で分類

@lacolaco
Copy link
Collaborator

lacolaco commented Jul 21, 2017

  • Symbol, 関数, undefinedは変換されない
  • プリミティブかどうか
  • オブジェクトかどうか
    • 列挙可能なプロパティを再帰的にシリアライズ

@azu
Copy link
Collaborator Author

azu commented Jul 21, 2017

@azu
Copy link
Collaborator Author

azu commented Jul 21, 2017

JSON.stringify({ get a(){ return 1; }})
// "{"a":1}"

getterは出てこないとは単純に言えないのか

クラスのgetterはでてこない。

@lacolaco
Copy link
Collaborator

lacolaco commented Jul 21, 2017

class Bar {
  get bar() { return "bar" }
}
var bar = new Bar()
JSON.stringify(bar)
"{}"

@lacolaco
Copy link
Collaborator

lacolaco commented Jul 21, 2017

代表的な変換についての表と、サンプルコード

@azu
Copy link
Collaborator Author

azu commented Jul 21, 2017

JSONは外部とのやり取りに使うという用途を書く。

@lacolaco
Copy link
Collaborator

JSONのユースケース

@lacolaco
Copy link
Collaborator

JSON.parseの第2引数は扱わない、ということで

@lacolaco
Copy link
Collaborator

// replacer引数を使わない場合はnullを渡すのが一般的です

@azu
Copy link
Collaborator Author

azu commented Jul 21, 2017

JSON.stringify()

再帰的になってるときに例外を投げる。

@azu
Copy link
Collaborator Author

azu commented Jul 21, 2017

JSONの次はMap/Setの章。

http://exploringjs.com/es6/

@lacolaco
Copy link
Collaborator

@azu
Copy link
Collaborator Author

azu commented Jul 21, 2017

@lacolaco
Copy link
Collaborator

EventEmitterとWeakMap

@azu
Copy link
Collaborator Author

azu commented Jul 21, 2017

@lacolaco
Copy link
Collaborator

lacolaco commented Jul 21, 2017

メモリリークしないための仕組み

いろんな言語にあるからESにも入りました

@azu
Copy link
Collaborator Author

azu commented Jul 21, 2017

関数どうするか

コラム押し?

@lacolaco
Copy link
Collaborator

関数の章は実はクラスの章なのでは?

@azu
Copy link
Collaborator Author

azu commented Jul 21, 2017

関数で => クラスっぽい
クラス => 実は関数では

という流れ

@azu
Copy link
Collaborator Author

azu commented Jul 21, 2017

this は多くの場合 クラスで使う。
関数でthisを使うケース jQuery, Vueなど

$.each(function (){
   this // <= $自体
})

みたいなケース。Arrow Functionを使う。

@lacolaco
Copy link
Collaborator

lacolaco commented Jul 21, 2017

argumentsに触れるなら関数の章しかない?

@azu
Copy link
Collaborator Author

azu commented Jul 21, 2017

callapply について触れる。

@azu
Copy link
Collaborator Author

azu commented Jul 21, 2017

https://www.softel.co.jp/blogs/tech/archives/1377 とspread operator

@lacolaco
Copy link
Collaborator

bind

@azu
Copy link
Collaborator Author

azu commented Jul 21, 2017

callapplybind と Arrow Function.

@lacolaco
Copy link
Collaborator

@azu
Copy link
Collaborator Author

azu commented Jul 21, 2017

@azu
Copy link
Collaborator Author

azu commented Jul 21, 2017

スコープの章

  • 普通の値の解決
  • thisという特殊な変数の解決
  • レキシカル

クラス

  • クラスの話
  • 関数とprototypeチェーン

@azu
Copy link
Collaborator Author

azu commented Jul 21, 2017

hoisting はコラム的な外伝的な

@lacolaco
Copy link
Collaborator

サンプルコードがなんで var なんだ ってツッコミが入りそうだからconst/let で書いておいたほうがよさそう

@azu
Copy link
Collaborator Author

azu commented Jul 21, 2017

なぜサンプルコードがconstではないのか

@azu
Copy link
Collaborator Author

azu commented Jul 21, 2017

const に書き換えよう

@lacolaco
Copy link
Collaborator

そうなるとhoistingは完全にコラムで良くなる

@lacolaco
Copy link
Collaborator

lexical

@azu
Copy link
Collaborator Author

azu commented Jul 21, 2017

const は レキシカル 見た目どおりのコードになるので、積極的に使いましょう。

静的スコープ - Wikipedia

@azu
Copy link
Collaborator Author

azu commented Jul 21, 2017

var は異常

@lacolaco
Copy link
Collaborator

他の言語を一応かける人向けのJS本なので、むしろvarの説明を理解してもらうのが難しそう

@lacolaco
Copy link
Collaborator

JSON > Map/Set > Date

@azu
Copy link
Collaborator Author

azu commented Jul 21, 2017

DateはDateオブジェクト、unix time(getTime、ISOのやつで交換可能な例をベースにする

@lacolaco
Copy link
Collaborator

YYYY/MM/DD の実装例

@lacolaco
Copy link
Collaborator

Symbolは章にならなさそう

@lacolaco
Copy link
Collaborator

Date/i18n #125

@azu
Copy link
Collaborator Author

azu commented Jul 21, 2017

クラス - stateを持ってる例

  • Counter

@azu
Copy link
Collaborator Author

azu commented Jul 21, 2017

日付 #125

@azu
Copy link
Collaborator Author

azu commented Jul 21, 2017

@azu
Copy link
Collaborator Author

azu commented Jul 21, 2017

次回: 8/24(木)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants