LoginSignup
0
1

More than 1 year has passed since last update.

JavaScriptと比較したTypeScriptの使い方

Last updated at Posted at 2022-12-21

この記事は、【 可茂IT塾 Advent Calendar 2022 】の21日目の記事です。

はじめに

Next.jsを学習しているうちにTypeScriptはJavaScriptと何が違うのか気になったので、調べてみました。
JavaScriptとの違いを踏まえながらTypeScriptの使い方について書いていきます。

JavaScriptとTypeScriptの違い

JavaScriptが動的型付けなのに対して、TypeScriptは静的型付けです。
動的型付けとは、コードに型を宣言しなくても自動的に型推論を行ってくれるものです。
静的型付けとは、コードに型を宣言する必要があり、型が無いとエラーになります。

例えばJavaScriptでは文字を定義したいとき、以下のように書きます。

let sample="サンプル";

TypeScriptの例を以下に示します。

let sample:string="サンプル";

TypeScriptの型

ここでは、いくつかの型を代表して紹介します。

string

文字列の型です。

上と同じ例を載せます。
JavaScript
let sample="サンプル";
TypeScript
let sample:string="サンプル";

number

数値の型です。
JavaScript
let num=123;
TypeScript
let num:number=123;

boolean

trueかfalseをもつ型です。
JavaScript
let isDone=true;
TypeScript
let isDone:boolean=true;

Array

配列の型です。
JavaScript
let fruits=["apple","banana","orange"];
TypeScript
let fruits:string[]=["apple","banana","orange"];

Object

オブジェクトの型です。
JavaScript
let myDog={
    name:"leo",
    age:10,
    weight:5
}
TypeScript
interface dogData={
    name:string,
    age:number,
    weight:number
}

let myDog:dogData={
name:"leo",
age:10,
weight:5
}

TypeScriptの場合はオブジェクトの型を作るためにインターフェースが必要になります。

また、要素があるか分からない場合などはインターフェースを以下の様に書くことでエラーが起こらなくなります。

ageを例にとります。

TypeScript
interface dogData={
    name:string,
    age?:number,
    weight:number
}

また、ageは存在するがnullかもしれない場合には次のように書きます。

TypeScript
interface dogData={
    name:string,
    age:number|null,
    weight:number
}

関数の定義

JavaScript
function func(a,b){
return a+b;
}
TypeScript
function func(a:number,b:number):number{
return a+b;
}

number型a,bを引数にとってnumber型を返り値(a+b)にしています。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1