---
# System prepended metadata

title: 5/2(土)
tags: [ノート]

---

###### tags: `ノート`

# 5/2(土)

## Typescript

### [モジュール](http://js.studio-kingdom.com/typescript/handbook/modules)

#### エクスポート

クラスや関数、インターフェースに`export`キーワードをつけることでエクスポートできます。

```typescript=
export class ZipCodeValidator implements StringValidator {
    isAcceptable(s: string) {
        return s.length === 5 && numberRegexp.test(s);
    }
}
```

#### インポート

`import`と`from`キーワードでインポートできます。

```typescript=
import { ZipCodeValidator } from "./ZipCodeValidator"
```

#### デフォルトエクスポート

`default`によるエクスポートはモジュール内に一つしか記述できません。名付けはしてもしなくても良い。

```typescript=
export default class User {
  
  greeting(country: string) {
    if(country == 'jp') {
      return 'こんにちは' 
    } else if(country == 'en') {
      return 'Hello'
    }
  }
}
```

### [クラス](http://js.studio-kingdom.com/typescript/handbook/classes)

#### 基本

```typescript=
class Greeter {
    greeting: string;
    
    constructor(message: string) {
        this.greeting = message;
    }
    
    greet() {
        return "Hello, " + this.greeting;
    }
}

let greeter = new Greeter("world");
```

