Type Aliases(拡張方法, Interfaceとの違い)

TypeScriptでは、Type Aliasesと呼ばれる機能を提供しています。Type Aliasesを利用すると型に別名を付けることができます。Interfaceと近い機能を持っていますが、挙動の違いも確認します。

型に別名をつける

基本型である numberOld という別名をつけてみます。

type Old = number;

const old: Old = 37;

別名をつけることでコードの意味がわかりやすくなります。

implements

Classのimplementsに指定することもできます。

type TPerson = {
  name: string;
  old: number;
};

class Person implements TPerson {
  name = 'yamada';
  old = 18;

  show(): string {
    return `name: ${this.name}  old: ${this.old}`;
  }
}

const person = new Person();
console.log(person.show()); // name: yamada  old: 18

拡張方法

Type Aliasesは交差型を利用して拡張

Interface では 継承(extends) を利用して拡張できます。

Type Aliases では 交差型 を利用します。

type TPerson = {
  name: string;
  old: number;
};

type TPerson2 = TPerson & {
  address: string;
};

Interfaceと比較
(同一の名前で再宣言)

Interfaceの場合、同一の名前で再宣言するとpropertyが追加されていきます。

interface Person {
  name: string;
  old: number;
}

interface Person {
  address: string;
}

const echo = (person: Person) => {
  console.log(person);
};

echo({ name: 'yamada', old: 18, address: 'xxx' });

Type Aliasesでは、同一名の宣言があると以下のようにエラーとなります。

753-typescript-type-aliases_01.png

新しいプロパティを追加するには、新しく別名をつける必要があります。

参考

【エンジニア向け】仕事を見つける方法

転職する

転職エージェントを活用する

転職サイトの場合、自身でサイト上から企業を探す必要があります。 一方「レバテックキャリア」 などの転職エージェントの場合、エージェントが企業を紹介してくれます。エージェントが間に入ることにより、日程調整や、条件交渉などもサポートしてくれます。

転職ドラフトを活用する

転職ドラフト」は、 企業がITエンジニアをドラフトという形で指名するサービスです。年収が最初に提示されるなどのメリットがあります。 ただ、初回登録時にレジュメ作成が必要で、すでにエンジニア経験が豊富にあるエンジニア向けのサービスかと思います。 レジュメ作成が手間ですが、自身のキャリアを見直す機会になり、他の仕事探しにも役立つはずです。

エンジニア転職保証のあるスクールを活用する

ある程度、開発経験のあるかたであれば、独学で必要なスキルを身につけることができるはずです。ただ、別業種からエンジニアに転職したい場合など、1から独学で学ぶのはハードルが高いです。そういった方は、スクールの活用を検討しても良いと思います。 「TechAcademy」は、エンジニア転職保証コースを提供しています。給付金制度の対象講座として認定されているため、金銭面の負担も抑えることができます。

フリーランスとして活動する

レバテックフリーランス」「ITプロパートナーズ」「ギークスジョブ」は、フリーランスエージェントサービスです。 エージェントによって、支払いサイトなど細かい違いはありますが、まずは良い案件を見つけることが重要です。 登録自体は無料なので、複数エージェントに登録して、より多くの案件を紹介してもらうのがおすすめです。

logo
わくわくBank.
技術系の記事を中心に、役に立つと思ったこと、整理したい情報などを掲載しています。