LoginSignup
0
1

More than 5 years have passed since last update.

TypeScript型パターン

Last updated at Posted at 2018-06-11

特徴

  • マイクロソフトによって開発され、メンテナンスされているフリーでオープンソースのプログラミング言語。
  • 静的型付けとクラスベースオブジェクト指向を加えた厳密なスーパーセット
  • JavaScriptも動く

拡張子

  1. *.ts通常時はこっち
  2. *.tsxjsxと呼ばれる構文を使いたい場合に使う(React.jsのコンポーネントなんかはこっちになる)

基本

// [変数のスコープ定義] [変数名]: [型定義] = [値]
let hello: string = 'Hello!'
hello = ['Hello!'] // エラー! Array型は代入できない

型の書き方

let numberVar: number = 1
let stringVar: string = 'abcde'
let numberAndStringVar: number | string = 1
numberAndStringVar = 'abcde'
let anyVar: any = null // 未定義の型

// Array
let arrayNumberVar: number[] = [1,2,3]
let arraySrtingVar: string[] = ['a', 'b', 'c']
let arrayNumberAndStringVar: Array<number | string> = [1, 'b', 3]
let arrayMixedVar: any[] = [[], 1, 'c']

// Object
let objectNumberVar: {[key: string]: number} = {1: 1}
let objectStringVar: {[key: string]: string} = {1: 'a'}

interface IColor {
    [key: string]: string | undefined;
    black: string;
    red: string;
    blue: string;
    green?: string; // 必須じゃないオブジェクトには?を付ける
}
let color: IColor = {
    black: '#000',
    red: 'red',
    blue: 'blue'
}

// 関数
// function [関数名]([引数1名]: [引数1型]): [戻り値の型]
function func(count: number): number {
  return count + 1
}

const func1 = (count: number): number => {
  return count + 1
}
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