回答編集履歴
3
TypeScriptちょっと養護
answer
CHANGED
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
(私はCoffeeScript教徒の信者なのでTypeScript教はシネと思ってますので伝聞でしかありません)
|
|
19
19
|
|
|
20
20
|
つまり、JavaScriptで培ったスキルや資産は全てTypeScriptへ持っていけます。
|
|
21
|
+
懸念のasync/await構文も当然動くでしょう、むしろ動かなかったらTypeScriptの存在価値無いし、鵜呑みのした私大うそつきじゃん。
|
|
21
22
|
先にJavaScript中心で勉強し、規模が大きくなり必要に迫られてTypeScriptを覚えても、
|
|
22
23
|
TypeScriptを使いながら平行してJavaScriptの扱いを勉強しても最終的なゴールは同じになります。
|
|
23
24
|
|
2
ちょっと修正
answer
CHANGED
|
@@ -12,12 +12,17 @@
|
|
|
12
12
|
TypeScriptはMS社がJavaScriptを触って「型が無いとかダメだろ」とJSに型を付けた言語です。
|
|
13
13
|
TypeScriptは所謂AltJSで、コンパイルするとネイティブのJavaScriptに変換され、Node.jsやブラウザ上で利用されます。
|
|
14
14
|
|
|
15
|
-
他のAltJSには、例えばPython、HaskellやLisp風の構文にしてしまうはっちゃけたAltJSも存在していますが、
|
|
16
|
-
TypeScriptは
|
|
15
|
+
TypeScriptは思想としてn年後のデファクトスタンダードJavaScriptという思想を掲げており、
|
|
16
|
+
型情報を付与したヘンテコな関数宣言が出来るくらいの違いしかありません。
|
|
17
|
+
それ以外は最新のECMAScriptに対応したドノーマルJavaScriptであり、JavaScriptのソースコードをベタっとコピペしてTypeScriptとして動かしても動く程だそうです。
|
|
18
|
+
(私はCoffeeScript教徒の信者なのでTypeScript教はシネと思ってますので伝聞でしかありません)
|
|
19
|
+
|
|
20
|
+
つまり、JavaScriptで培ったスキルや資産は全てTypeScriptへ持っていけます。
|
|
17
|
-
|
|
21
|
+
先にJavaScript中心で勉強し、規模が大きくなり必要に迫られてTypeScriptを覚えても、
|
|
18
22
|
TypeScriptを使いながら平行してJavaScriptの扱いを勉強しても最終的なゴールは同じになります。
|
|
19
23
|
|
|
20
|
-
一人開発の場合、型が好きで好きで
|
|
24
|
+
一人開発の場合、型が好きで好きで仕方ないならTypeScriptを使えば良いですし、
|
|
25
|
+
そうでもないならJavaScriptからやれば良いんじゃないですかね。
|
|
21
26
|
|
|
22
27
|
> Node.jsはNoSQL前提、のような記事も見かける
|
|
23
28
|
|
|
@@ -29,13 +34,13 @@
|
|
|
29
34
|
|
|
30
35
|
> どのツールが適しているのか
|
|
31
36
|
|
|
32
|
-
ん〜、ま
|
|
37
|
+
ん〜、私はmysql2しか使った事ありませんが、どちらでも良いと思います。
|
|
33
38
|
|
|
34
39
|
async/awaitはPromiseをスマートに扱う糖衣構文です。
|
|
35
40
|
Promiseは基本的にPromiseインスタンスを受け取り、後続のやりたいことの記述がしたければ`.then(fn)`という風にthenメソッドにやりたい事を関数化してぶら下げる記述をする必要があります。
|
|
36
41
|
|
|
37
42
|
async/awaitを使えば、promiseの完了をawaitで待つ事が出来るようになる上、resolveの結果を取り出して代入したり他の関数の引数として渡したりできるようになります。
|
|
38
|
-
これが超便利で、ソースコード上では普通の同期処理であるかのように書けるので
|
|
43
|
+
これが超便利で、ソースコード上では普通の同期処理であるかのように書けるのでめっちゃ捗ります。
|
|
39
44
|
|
|
40
45
|
これはmysql2/promiseでasync/awaitを併用したサンプルですが、これ覚えておけば全てのPromiseを同じように扱えるんで、Promiseとasync/awaitは死ぬほど勉強して覚えてください。
|
|
41
46
|
[https://github.com/sidorares/node-mysql2/blob/master/examples/promise-co-await/await.js](https://github.com/sidorares/node-mysql2/blob/master/examples/promise-co-await/await.js)
|
|
@@ -43,10 +48,17 @@
|
|
|
43
48
|
> 小規模であってもwebpackや
|
|
44
49
|
Expressを導入したほうがいいのか(Angularはjavascriptをある程度理解してから使用する予定です)
|
|
45
50
|
|
|
46
|
-
webpackはどっちでも良いですが、webpack捨てるならマニュアル的なnpm-scriptsの理解が絶対なので流行のwebpackが良いんじゃないかなと思います。
|
|
47
|
-
Node.jsの
|
|
51
|
+
Node.jsの存在意義の半分がJadeやSASS等の静的HTMLジェネレータにありますので、
|
|
52
|
+
何かしらのタスクランナー(+コンパイルツール)を扱うのはマストです。
|
|
48
53
|
|
|
54
|
+
私はwebpackじゃなくて、マニュアル的なnpm-scriptsを使っていますが、
|
|
55
|
+
流行のwebpackに乗っかっておけば間違いないと思います。
|
|
56
|
+
webpackでビルドしてください前提のプロジェクトは結構あって、Angularもwebpackだったかもしれません(適当
|
|
57
|
+
|
|
58
|
+
Node.jsのhttpモジュールは死ぬほど使い勝手が悪いので、
|
|
59
|
+
Express.jsの使用はマスト!むしろこっちがデフォルトくらいの勢いです。
|
|
60
|
+
|
|
49
|
-
AngularはJS初心者が手を出すと挫折するほど導入が辛いかも知れません
|
|
61
|
+
AngularはJS初心者が手を出すと挫折するほど導入が辛いかも知れません。
|
|
50
62
|
例えVue.jsで妥協したとしても、何かしらのJSフレームワークはこの段階で絶対に習得してください。
|
|
51
63
|
大規模なWebアプリをJSで実装する段階でネイティブJSやjQueryだと横並びの修正作業項目だらけになって確実に死にます。
|
|
52
64
|
|
1
誤字修正
answer
CHANGED
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
> 学習環境?
|
|
54
54
|
|
|
55
55
|
知らない機能やメソッドを見かけたら、
|
|
56
|
-
必ずこ
|
|
56
|
+
必ずこれらのサイトで裏付けを取ってください。
|
|
57
57
|
|
|
58
58
|
- [MDN](https://developer.mozilla.org/ja/docs/Web/JavaScript): Firefox作ってる団体のJavaScript解説サイト、全ての組み込み関数やメソッドの挙動はこのサイトで確認出来る
|
|
59
59
|
- [Node.jsドキュメント](https://nodejs.org/ja/docs/)
|