クェンソンは、enのタイプをチェックしています.


ホラ、ヨークソニーガーソンumanzor、フロントエンドの開発者、Yエヌエスタocasiは、私はgustarを包む.
免責事項は:私は思いやりのエヌを入力します.

差別労働組合


Ultra - Ang - An - Atra - Atra - Atra - Area - Air - Area - Oots - Keysを用いたANA - PropiedadにおけるNasesiten basadoに対するAlphuna Vez漢天道の状況
POR EJPLOUMO , SI UAE Persona , Y Queren Usar diferente Informaci in Mstrarla , Por Ejjecoo , Unumamos que de un Polfil , Pool LesエーモスTener an un Doctor , Y a un ingeniero ( de software , por supuesto ) y que cada uno no dridria tener diferentes propiedades , como especialidad ( para el ingdr ) y tecnolog ad ( para el ingeniero )
interface Perfil {
  tipo: 'doctor' | 'ingeniero';
  especialidad?: string;
  tecnologia?: string;
  hospital?: string;
  empresa: string;
}
Ahora Bien , St Yo Qusisiera Mostrar Informacaci - en Pipo de Perfil que Econoy Lazzando , Por - en a Concontralme Con Errores , Por Ejprao , Alguien podria proveerme con el perfil de un Doctor , Pero Atterentalmente no llenar la Specialidad , O Lenar la Technologia , Y eso se traducir des en que yo deba estar haciendo muchas validaciones , goとしてのAlgo Maso - Menos
// ...
if (perfil.tipo === 'doctor') {
  if(perfil.especialidad) {
    // Mostrar informacion
  }
}
パーコ・ダド・エック・プロオネードの息子オッシオナール( OPIONATALES A LUPUR DEVALUR AL USUSUARA A LINAR TODA LA INFOMIACI AND N cuCuando no la Trenero Toda )
Y‐Si Agregamos mは,sを盗みます?エストse traducirは、エヌse trregucirを引きます.
pero、como solucionamosエステ?ビエン・セインシロ,エヌ,エヌ,シエラ・エ・ラ・ラ・エ・エ・プロエザド,ノソトロス・ユーエス・ソルメンツ
interface Doctor {
  tipo: 'doctor';
  especialidad: string;
  hospital: string;
}

interface Ingeniero {
  tipo: 'ingeniero';
  tecnologia: string;
  empresa: string;
}
Y Luego , Lo Mas Itantante , es CreaCreos untype para unir ( de Ahi el "union "en - el nombre de esta caracter len . stica )
type Perfil = Doctor | Ingeniero;
Ahora , Cuando Tramamos Hacer ciertas Validaciones , Esto funcionaria sin in creun n problem
function revisarPerfil(perfil: Perfil) {

  switch (perfil.tipo) {
    case 'doctor': {
      // Puedo usar las propiedades especialidad y hospital, sin problemas;
      break;
    }
    case 'ingeniero': {
      // Puedo usar las propiedades tecnologia y empresa, sin problemas;
      break;
    }
    default: {
      break;
    }
  }
}
LO que Physa queソロDebo Hacer Nuna Validaciは、n(la de tipo)y con eso serを崇拝します.ビアン、Continemosは、徹底的にチェックします.

徹底検査


Cuadando Yo Estoy Recipbiendoは、Meen LimenadoデPosibles Valores、es muy Itantante Saber que Estoy Cubriendo Todos Los Posibles Epcenaliaパラシュートで降下します.
ビエン、トマリーズコモベースパラエルEjjeco Lo Bloques de C On Digo Toreiores、として
function revisarPerfil(perfil: Perfil) {
  switch (perfil.tipo) {
    case 'doctor': {
      // Puedo usar las propiedades especialidad y hospital, sin problemas;
      break;
    }
    case 'ingeniero': {
      // Puedo usar las propiedades tecnologia y empresa, sin problemas;
      break;
    }
    default: {
      break;
    }
  }
}
エヌBloqueスイッチ、nosotros Estamos Validando que Todos Los Posibles Escenalia Eestは、cubiertos、いいえ?
y que tal si m ' s ' sアデレード、ya海un par de d as as、unas意味論、unos meses o quien sabe、hasta un par de a a ' s os , alguien m de s en en el - adapo agrega una interface mArquitecto
interface Arquitecto {
  tipo: 'arquitecto';
  // Resto de propiedades
}
Y - Ahora , El union type se ver - m ' s s o menosとして、
type Perfil = Doctor | Ingeniero | Arquitecto;
ローque意味は、Ahora、en nuestroスイッチケースなしEstamos Cubriendo Todos Los Posibles Escenarian que podr -エーモスエーモスRecibir、Con - qu hhemos?Aque Fes es es donde el徹底的なチェックentre en juego,y para実装,hacemos lo siguiente
function revisarPerfil(perfil: Perfil) {
  let exhaustiveChecking: never;

  switch (perfil.tipo) {
    case 'doctor': {
      // Puedo usar las propiedades especialidad y hospital, sin problemas;
      break;
    }
    case 'ingeniero': {
      // Puedo usar las propiedades tecnologia y empresa, sin problemas;
      break;
    }
    default: {
      exhaustiveChecking = perfil;
      break;
    }
  }
}
ロス・カムイオス・ヘークス
  • Descripamos una変数デTiponever , ラ・キュールexhaustiveChecking
  • Agregamos ELデフォルトケース、YエヌestesamosエルValorデPerfil.
  • パーコ・カヌ・ベック著『国連パラソル・メトロのヴァーカル』の意味Aqua Men ' Viene la Applicaci des n :
    Dado que nosotros Ya Hemos Cubierto Todos Losは、El PARメトロメトロperfil、Cuando Legue alケースデフォルト、no Habrを得ます.
    エステ重要なque、CuandoヨーグアグリーグナNuevaPerfil , Typescript VAは、検出されたAutom Um m Ticamente que Cutando Llega alデフォルトの例EL TipoデEl - De Tone決して、シック・デル・ティポque reci{n agregamos、y no nos va a dejar compiler la aplicaci del n、evitando errores en tiempo de compiler
    Type 'Arquitecto' is not assignable to type 'never'.
    
    ハスタAquaは、エサPak queを中心とします、Enperada、エスペルレハヤGustado、y Si Tienen Algは、On Temalデルque Le Gustarは、que Hablara、私pupuen dejar saber、y con gusto準備します.
    国連サルート!