2021年9月18日土曜日

Should I throw away JavaScript and write everything in TypeScript? JavaScriptを捨ててすべてTypeScriptで書くべきでしょうか?

https://jp.quora.com/JavaScript%E3%82%92%E6%8D%A8%E3%81%A6%E3%81%A6%E3%81%99%E3%81%B9%E3%81%A6TypeScript%E3%81%A7%E6%9B%B8%E3%81%8F%E3%81%B9%E3%81%8D%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B

シェアしました。


To answer


9

Follow


Answer request


See more

Number of responses: 5

Ohkubo Kohei's profile picture

Ohkubo Kohei

, Software engineer of Heart Rails Co., Ltd. (2010-present)

Date and time of reply: Month


The transition to Typescript can proceed "little by little". Even large js projects can coexist with existing code, replacing where needed, little by little.


You don't have to throw anything away.


It's not that Typescript is harder to write than js, and in the extreme, declaring all types any makes it virtually the same as js. (Although not the default, there is also an option to treat all type abbreviations as any)


If you wrote another answer, "Be careful with altjs," you probably had a hard time with coffeescript, but you don't have to worry about typescript. It is backed up by Microsoft as a whole company, and the specifications are being developed and implemented at the same level as other languages.


There is a processing system called deno that replaces nodejs, which can execute typescript directly without transpiling.


Deno --A modern runtime for JavaScript and TypeScript

Deno is a simple, modern runtime for JavaScript and TypeScript that uses V8 and is built in Rust.

https://deno.land/

(Speaking of just having a built-in transpiler ...)


I personally like deno, which has solved most of the dislikes of nodejs, and I hope it will be popular.

Views: 1,432 times See 17 high ratings

Yako Tsukada

Requested answer


17






Masahiro Ishizuka's profile picture

Add a comment ...

Anonymous's profile picture

Anonymous

Answer date and time: Thu

Yes, it is. Don't write raw JavaScript. Please write everything in TypeScript. Some people say that you should be careful about AltJS, but it is completely wrong, so please ignore it. Currently, the mainstream of the world is TypeScript. Google Closure is not used as an example because no one is using it. Although it is transpiled, it is only difficult to debug even if there is a source map because it is optimized quite radically, and in most cases it is the original as long as the source map is generated normally. It is possible to know where the dead is from the source code of.


You can use ReasonML or PureScript. These languages ​​allow you to write OCaml-like or Haskell-like JavaScript. The good thing is that the type system is more powerful than TypeScript. The bad point is that there are few type definition files and the update frequency is low compared to TypeScript because there are few users and the community is small.


TypeScript is a superset of JavaScript. In short, valid JavaScript is also valid TypeScript. Simply add tsconfig.json to your current JavaScript project and your project will become a TypeScript project and you will be able to enjoy the many benefits that TypeScript offers.


The era is TypeScript. Write TypeScript. Come on soon.

Views: 24 times See 2 high ratings


2






Masahiro Ishizuka's profile picture

Add a comment ...

Kota's profile picture

Kota

, Web engineer for ad networks, ad exchanges and ad services (backend front infrastructure) (2020-present)

Date and time of reply: September 12


TypeScript has a high initial development cost to some extent, but the maintainability increases in return.


Therefore, if there is a possibility that multiple people will handle the program in the future ( permanent maintenance is required), or if there is a possibility that the library will be used by someone other than yourself, it is better to write it in TypeScript. Is good.


On the contrary, if it is written by one engineer and used only on the spot, I think that there is no problem with JavaScript. 


JavaScriptを捨ててすべてTypeScriptで書くべきでしょうか?


回答する


99フォロー


回答依頼


もっと見る


回答数: 5



main-thumb-2803976-200-hkvotpdzgbvjncfkeesgrqcatfjvwefr.jpeg



Ohkubo Kohei

株式会社ハートレイルズのソフトウェアエンジニア (2010年〜現在)

回答日時


Typescript への移行は「少しずつ」進めることが出来ます。巨大な js プロジェクトでも、必要な箇所から少しずつ置き換えながら、既存コードと共存出来ます。

何も捨てる必要はありません。

Typescript  js よりも書くのが大変かというとそんな事もなく、極端な事を言えば全ての型を any 宣言すれば js と実質同じになります。(デフォルトではありませんが、型の省略をすべて any 扱いにするオプションも用意されてます)

altjs に注意、という別回答を書かれた方は、 coffeescript かなんかでさぞかし苦労されたのだと思いますが、 typescript に同じ心配は不要でしょう。 Microsoft が社をあげてバックアップしており、他の言語と同等以上に仕様の策定と実装が進められています。

nodejs を置き換える deno という処理系があり、これはトランスパイル無しで typescript を直接実行できます

Deno - A modern runtime for JavaScript and TypeScriptDeno is a simple, modern runtime for JavaScript and TypeScript that uses V8 and is built in Rust.


https://deno.land/

(トランスパイラを内蔵してるだけ、といえばそうですが。。。)

nodejs の嫌なところをほとんど解決してくれた deno は個人的にはかなり気に入ってまして、流行るといいなあ、と思っています。

閲覧数:1,43217件の高評価を見る

Yako Tsukada

さんがリクエストした回答


9917










main-thumb-1348837415-200-leaolnvfwdhpcfsvueqwachhqimowvet.jpeg



コメントを追加


-4-images.new_grid.profile_default_anonymous.png-26-a62b84947fe6f16f.png



匿名

回答日時

はいそうです。生のJavaScriptなんて書かないで下さい。全てTypeScriptで書いて下さい。AltJSに注意という人がいますが完全に間違えているので無視して下さい。現在、世の中の主流はTypeScriptです。Google Closureなんて誰も使っていないので例として不適です。あれはトランスパイルとはいえかなり過激な最適化をしているためにsource mapがあってもデバッグが困難になっているというだけであり大体の場合は普通にsource mapさえ生成していれば元のソースコードでどこが死んだのか知ることは可能です。

ReasonMLもしくはPureScriptでも良いです。これらの言語はOCamlぽくもしくはHaskellぽくJavaScriptを書けるものです。型システムがTypeScriptより強力なところが良いです。良くない点はいかんせんユーザが少なくコミュニティが小さいのでTypeScriptに比べると型定義ファイルが少なかったり更新頻度が低かったりすることでしょうか。

TypeScriptJavaScriptのスーパーセットです。要するにvalidJavaScriptvalidTypeScriptでもあります。今のJavaScriptプロジェクトにtsconfig.jsonを追加するだけであなたのプロジェクトはTypeScriptプロジェクトになりTypeScriptが提供する様々なメリットを享受できるようになります。

時代はTypeScriptです。TypeScriptを書くのです。さあ早く。

閲覧数:242件の高評価を見る


92










main-thumb-1348837415-200-leaolnvfwdhpcfsvueqwachhqimowvet.jpeg



コメントを追加


main-thumb-1398403630-200-mofmxayyeovktvzilpdbuhtodqrxdsec.jpeg



Kota

アドネットワーク、アドエクスチェンジおよびアドサービスのWebエンジニア(バックエンド・フロント・インフラ) (2020年〜現在)

回答日時: 912


多少なりともTypeScriptのが初期の開発コストは高いです,その対価として保守性が高まります。

したがって,将来的に複数人が対応にあたる可能性のあるプログラム(≒永続的な保守が必要なもの)や,ライブラリでそのライブラリを自分以外が使う可能性があるのであれば,TypeScriptで書いたほうが良いです。

逆に,1人のエンジニアが書いて,その場限りでしか使わないようなものであれば,JavaScriptでも問題ないと思います。

0 コメント:

コメントを投稿