今日はなにの日。

気になったこと勉強になったことのメモ。

今日は、新しくTypeScriptの習得に取り掛かったの日。

目次

とある日

毎年何かしら新しいことを初めて知見を増やそうという目的のためにはじめた新しい言語に挑戦するときがやってきました。

今年はTypeScript`を触ろうと思います。

ちなみに、前年はGo言語を触りました。

updraft.hatenadiary.com

JavaScriptは少し触ったことがあるので基本的なことは問題ないと思いますが知見を増す目的のもと色々と挑戦しようと思います。

この記事では、TypeScriptの環境構築からHelloWorldの儀式までを行い色々と疑問になった点などをまとめます。

なぜTypeScriptなのか

さっそく環境構築やHelloWorldの儀式を行ってもよいのですが、その前に色々と解説します。

そもそもなんで、TypeScriptを選択したのかという点です。

理由その1 : AWS IaC

仕事でAWSを触ることが多いのですがその中でもIaCは必須な技術となっていると思います。

AWS CDKやAWS SDKなどで対応している言語としてTypeScriptがちらほら見受けれます。

特にCDKは、TypeScriptで書かれたソースが多くPythonで書く際に参考にならないということがあったりしました。

その際に、TypeScriptがわかれば別言語に変換することも容易いと感じました。

AWS CDK Developer GuideのチュートリアルをTypeScriptでやってみた | DevelopersIO

AWS Cloud9 の TypeScript サンプル - AWS Cloud9

AWS SDK for JavaScript

理由その2 : フロント言語習得

JavaScriptは少しだけ触れますが、フレームワークなどはあまり触らない上に、アロー関数などは使わなかったのでそれにも挑戦したいと思ったため。

基本インフラの人間ですが、幅広い知識がある方が仕事で活かせると思うのであえて、インフラから遠い分野を選択しています。

理由その3 : 好奇心

単純に、前からTypeScriptが流行っていて気になってた。

TypeScriptとは

マイクロソフトが開発したオープンソース言語で、一言で言うと、「型定義できるJavaScript」。

TypeScript の概要 - Qiita

Javascriptとの違い

TypeScriptとJavaScriptの違いとTypeScriptの特徴 - Qiita

Hello World儀式

言わずとしれたこの儀式をTypeScriptでも行います。

TypeScriptチュートリアル① -環境構築編- - Qiita

windows10でTypeScriptをインストールして実行してみる | mebee

環境構築

前提条件

node.jsはインストール済み

node --version
v14.17.3

手順

  • npm install -g typescript
  • コード作成

手順はいたって簡単。

tsc -v
Version 4.4.4

PowerShellで実行するとエラーになる。

仕方ないから、コマンドプロンプトで実行した。

プログラム作成

console.log("Hello World");

Pythonみたいにシンプルで記述可能。

VSCodeでCode Runnerという拡張機能を使って検証。

しかしうまく行かない。

Cannot find name 'console'. Do you need to change your target library? Try changing the `lib` compiler option to include 'dom'

実行するたび上記のエラーが出力される。

TypeScript で Console.log() を呼び出そうとするとエラーになるので直した。 Cannot find name 'console'. Do you need to change your target library? - くうと徒然なるままに

必要なファイルがないかららしい。

npm install @types/node

インストール。

実行。

C:\Users\xxxx\Documents\GitHub>ts-node "c:\Users\xxxx\Documents\GitHub\TypeScript-hello-world\helloworld.ts"
Hello World

今後の学習について

とりあえず新しい言語になれるには競プロ問題を解くのがおすすめです。

作りたいものがある場合は、それを作り始めてもいいと思いますが、わりと作りたいものがないけどプログラミングしたいことがあるので。

そのときに、いっぱい問題のあるの競プロを行うと良いです。

LeetCode - The World's Leading Online Programming Learning Platform

サイトによってTypeScriptではなくNode.jsやJavaScriptなどで別れているので、細かい仕様が違うのでTypeScriptと表記があるところでアウトプットを行う。

環境構築はGoのほうが簡単だと思いました。

ただ、プログラミングを行うのはTypeScriptのほうがPython並に簡単だと思います。

プログラミング言語だけでなくQuery Languageとかにも挑戦したいと思ってます。

新しいことを始めるとモチベーションも上がりますし、知見が増えるので良い習慣だと思ってます。

引き続きTypeScriptの習得をがんばります。

参考記事

air-flow/TypeScript-hello-world

windows10でTypeScriptをインストールして実行してみる | mebee

Windows10にTypeScriptをインストールする | ITエンジニアの定時退社Tips

Code Runnerで文字化け #VS Code 02 - YMさんのデブメモ