const assertion

2944 ワード

assertion?


  • 断言?
  • const assertion

  • let変数についてはcont変数を用いる場合と同様の類型推定規則
  • を適用してもよい.
  • 2as constというキーワードでタイプを断言することができます.
  • let hello = 'world' as const
    // in ts
    let hello = <const>'world'
    hello = 'earth' // 컴파일 타임 에러 

    オブジェクトのconst断言

  • オブジェクトを入力タイプ推定すると
  • const obj = {
    	hello: 'world'
    }
    /*
    const obj = {
    	hello: string
    }
    */
  • constと宣言されたが、オブジェクト内部の属性のタイプは広範な
  • と推定される.
  • constは再割り当てできないため、オブジェクトで値
  • を変更できます.
  • このようにas const縮小型により推定できる範囲
  • // hello만 assertion
    const obj = {
      hello: 'world' as const,
      foo: 'bar'
    }
    
    // 모든 속성에 대해 assertion
    const obj = {
      hello: 'world',
      foo: 'bar'
    }  as const
  • の結果はreadonlyプロパティになります.
  • ソース

  • https://medium.com/@seungha_kim_IT/typescript-3-4-const-assertion-b50a749dd53b