From daf9a449e818a0335f6dab378363f3bd65595021 Mon Sep 17 00:00:00 2001 From: syuilo <syuilotan@yahoo.co.jp> Date: Sat, 13 Apr 2019 14:31:05 +0900 Subject: [PATCH] Update CONTRIBUTING.md --- CONTRIBUTING.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 844fda5490..3cc28bb4c8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -137,3 +137,22 @@ SQLã§ã¯é…列ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã¯**1始ã¾ã‚Š**。 ### `undefined`ã«ã”用心 MongoDBã®æ™‚ã¨ã¯é•ã„ã€findOneã§ãƒ¬ã‚³ãƒ¼ãƒ‰ã‚’å–å¾—ã™ã‚‹æ™‚ã«å¯¾è±¡ãƒ¬ã‚³ãƒ¼ãƒ‰ãŒå˜åœ¨ã—ãªã„å ´åˆ **`undefined`** ãŒè¿”ã£ã¦ãã‚‹ã®ã§æ³¨æ„。 MongoDBã¯`null`ã§è¿”ã—ã¦ãã¦ãŸã®ã§ã€ãã®æ„Ÿè¦šã§`if (x === null)`ã¨ã‹æ›¸ãã¨ãƒã‚°ã‚‹ã€‚代ã‚ã‚Šã«`if (x == null)`ã¨æ›¸ã„ã¦ãã ã•ã„ + +### ç°¡ç´ ãª`undefined`ãƒã‚§ãƒƒã‚¯ +データベースã‹ã‚‰ãƒ¬ã‚³ãƒ¼ãƒ‰ã‚’å–å¾—ã™ã‚‹ã¨ãã«ã€ãƒ—ãƒã‚°ãƒ©ãƒ ã®æµã‚Œçš„ã«(ã»ã¼)絶対`undefined`ã«ã¯ãªã‚‰ãªã„å ´åˆã§ã‚‚ã€`undefined`ãƒã‚§ãƒƒã‚¯ã—ãªã„ã¨TypeScriptã«æ€’られã¾ã™ã€‚ +ã§ã‚‚ã„ã¡ã„ã¡è¤‡æ•°è¡Œã‚’費やã—ã¦ã€ç™ºç”Ÿã™ã‚‹ã¯ãšã®ãªã„`undefined`ã‚’ãƒã‚§ãƒƒã‚¯ã™ã‚‹ã®ã‚‚é¢å€’ãªã®ã§ã€`ensure`ã¨ã„ã†ãƒ¦ãƒ¼ãƒ†ã‚£ãƒªãƒ†ã‚£é–¢æ•°ã‚’用æ„ã—ã¦ã„ã¾ã™ã€‚ +例ãˆã°ã€ +``` ts +const user = Users.findOne(userId); +// ã“ã®æ™‚点㧠user ã®åž‹ã¯ User | undefined +if (user == null) { + throw 'missing user'; +} +// ã“ã®æ™‚点㧠user ã®åž‹ã¯ User +``` +ã¨ã„ã†å‡¦ç†ã‚’`ensure`を使ã†ã¨ +``` ts +const user = Users.findOne(userId).then(esure); +// ã“ã®æ™‚点㧠user ã®åž‹ã¯ User +``` +ã¨ã„ã†é¢¨ã«æ›¸ã‘ã¾ã™ã€‚ -- GitLab