muerwre.github.io/api/_content/query/iZIUw8pCoM.json
muerwre e120071e6a commit dc6051dafe
Author: Fedor Katurov <gotham48@gmail.com>
Date:   Sun Jan 1 15:50:55 2023 +0600

    vault backup: 2023-01-01 15:50:55
2023-01-01 09:52:58 +00:00

1 line
No EOL
11 KiB
JSON

{"_path":"/typescript/type-guards","_dir":"typescript","_draft":false,"_partial":false,"_locale":"en","_empty":false,"title":"Type Guards","description":"Useful for type checking at compile and run time:","excerpt":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Useful for type checking at compile and run time:"}]},{"type":"element","tag":"code","props":{"code":"function isFish(pet: Fish | Bird): pet is Fish {\n return (pet as Fish).swim !== undefined;\n}\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"function isFish(pet: Fish | Bird): pet is Fish {\n return (pet as Fish).swim !== undefined;\n}\n"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Usage:"}]},{"type":"element","tag":"code","props":{"code":"const pet = getSmallPet();\n \nif (isFish(pet)) {\n pet.swim();\n} else {\n pet.fly();\n}\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"const pet = getSmallPet();\n \nif (isFish(pet)) {\n pet.swim();\n} else {\n pet.fly();\n}\n"}]}]}]}]},"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Useful for type checking at compile and run time:"}]},{"type":"element","tag":"code","props":{"code":"function isFish(pet: Fish | Bird): pet is Fish {\n return (pet as Fish).swim !== undefined;\n}\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9759ae"},"children":[{"type":"text","value":"function"}]},{"type":"element","tag":"span","props":{"class":"ct-1e7a5b"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-10b0bd"},"children":[{"type":"text","value":"isFish"}]},{"type":"element","tag":"span","props":{"class":"ct-1e7a5b"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-85a29b"},"children":[{"type":"text","value":"pet"}]},{"type":"element","tag":"span","props":{"class":"ct-81e16a"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"class":"ct-1e7a5b"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e0426d"},"children":[{"type":"text","value":"Fish"}]},{"type":"element","tag":"span","props":{"class":"ct-1e7a5b"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-81e16a"},"children":[{"type":"text","value":"|"}]},{"type":"element","tag":"span","props":{"class":"ct-1e7a5b"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e0426d"},"children":[{"type":"text","value":"Bird"}]},{"type":"element","tag":"span","props":{"class":"ct-1e7a5b"},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"class":"ct-81e16a"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"class":"ct-1e7a5b"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-85a29b"},"children":[{"type":"text","value":"pet"}]},{"type":"element","tag":"span","props":{"class":"ct-1e7a5b"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-81e16a"},"children":[{"type":"text","value":"is"}]},{"type":"element","tag":"span","props":{"class":"ct-1e7a5b"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e0426d"},"children":[{"type":"text","value":"Fish"}]},{"type":"element","tag":"span","props":{"class":"ct-1e7a5b"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1dace0"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-90c396"},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"class":"ct-1dace0"},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"class":"ct-f095dc"},"children":[{"type":"text","value":"pet"}]},{"type":"element","tag":"span","props":{"class":"ct-1dace0"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-90c396"},"children":[{"type":"text","value":"as"}]},{"type":"element","tag":"span","props":{"class":"ct-1dace0"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9b1120"},"children":[{"type":"text","value":"Fish"}]},{"type":"element","tag":"span","props":{"class":"ct-1dace0"},"children":[{"type":"text","value":")."}]},{"type":"element","tag":"span","props":{"class":"ct-f095dc"},"children":[{"type":"text","value":"swim"}]},{"type":"element","tag":"span","props":{"class":"ct-1dace0"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-90c396"},"children":[{"type":"text","value":"!=="}]},{"type":"element","tag":"span","props":{"class":"ct-1dace0"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d6f165"},"children":[{"type":"text","value":"undefined"}]},{"type":"element","tag":"span","props":{"class":"ct-1dace0"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1dace0"},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Usage:"}]},{"type":"element","tag":"code","props":{"code":"const pet = getSmallPet();\n \nif (isFish(pet)) {\n pet.swim();\n} else {\n pet.fly();\n}\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-3187f0"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-1dace0"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-0df6df"},"children":[{"type":"text","value":"pet"}]},{"type":"element","tag":"span","props":{"class":"ct-1dace0"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-90c396"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-1dace0"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-82c7c5"},"children":[{"type":"text","value":"getSmallPet"}]},{"type":"element","tag":"span","props":{"class":"ct-1dace0"},"children":[{"type":"text","value":"();"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1dace0"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-90c396"},"children":[{"type":"text","value":"if"}]},{"type":"element","tag":"span","props":{"class":"ct-1dace0"},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"class":"ct-82c7c5"},"children":[{"type":"text","value":"isFish"}]},{"type":"element","tag":"span","props":{"class":"ct-1dace0"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-f095dc"},"children":[{"type":"text","value":"pet"}]},{"type":"element","tag":"span","props":{"class":"ct-1dace0"},"children":[{"type":"text","value":")) {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1dace0"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f095dc"},"children":[{"type":"text","value":"pet"}]},{"type":"element","tag":"span","props":{"class":"ct-1dace0"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-82c7c5"},"children":[{"type":"text","value":"swim"}]},{"type":"element","tag":"span","props":{"class":"ct-1dace0"},"children":[{"type":"text","value":"();"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1dace0"},"children":[{"type":"text","value":"} "}]},{"type":"element","tag":"span","props":{"class":"ct-90c396"},"children":[{"type":"text","value":"else"}]},{"type":"element","tag":"span","props":{"class":"ct-1dace0"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1dace0"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f095dc"},"children":[{"type":"text","value":"pet"}]},{"type":"element","tag":"span","props":{"class":"ct-1dace0"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-82c7c5"},"children":[{"type":"text","value":"fly"}]},{"type":"element","tag":"span","props":{"class":"ct-1dace0"},"children":[{"type":"text","value":"();"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1dace0"},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-82c7c5{color:#D2A8FF}.ct-0df6df{color:#79C0FF}.ct-3187f0{color:#FF7B72}.ct-d6f165{color:#79C0FF}.ct-9b1120{color:#FFA657}.ct-f095dc{color:#C9D1D9}.ct-90c396{color:#FF7B72}.ct-1dace0{color:#C9D1D9}.ct-e0426d{color:#FFA657}.ct-81e16a{color:#FF7B72}.ct-85a29b{color:#FFA657}.ct-10b0bd{color:#D2A8FF}.ct-1e7a5b{color:#C9D1D9}.ct-9759ae{color:#FF7B72}.light .ct-9759ae{color:#073642}.light .ct-1e7a5b{color:#657B83}.light .ct-10b0bd{color:#268BD2}.light .ct-85a29b{color:#657B83}.light .ct-81e16a{color:#859900}.light .ct-e0426d{color:#268BD2}.light .ct-1dace0{color:#657B83}.light .ct-90c396{color:#859900}.light .ct-f095dc{color:#268BD2}.light .ct-9b1120{color:#268BD2}.light .ct-d6f165{color:#B58900}.light .ct-3187f0{color:#073642}.light .ct-0df6df{color:#268BD2}.light .ct-82c7c5{color:#268BD2}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:Typescript:Type guards.md","_source":"content","_file":"Typescript/Type guards.md","_extension":"md"}