Dart/๊ธฐ์ดˆ

[Dart ๊ธฐ์ดˆ] null safety

๋ฟŒ๋น„ 2024. 7. 31. 19:53
728x90

๐Ÿ”ฅ null safety 

  • ๊ฐœ๋ฐœ์ž๊ฐ€ null ๊ฐ’์„ ์ฐธ์กฐํ•  ์ˆ˜ ์—†๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด๋‹ค
  • ์ฝ”๋“œ์— null ๊ฐ’์„ ์ฐธ์กฐํ•˜๋ฉด ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ๊ฐ€ ๋œฌ๋‹ค (๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์•ฑ์„ ์‚ฌ์šฉํ•˜๋Š” ์ค‘์— ๋œจ๋Š” ์—๋Ÿฌ)
  • ์‚ฌ์šฉ๋ฒ•์€ ๋ณ€์ˆ˜ ์„ ์–ธ ์‹œ ํƒ€์ž…๋’ค์—? ๋ถ™์—ฌ์ฃผ๋ฉด ๋œ๋‹ค. ์ด๋ ‡๊ฒŒ ์„ ์–ธํ•ด ์ฃผ๋ฉด name ๋ณ€์ˆ˜๊ฐ€ null ์ด ๋  ์ˆ˜๋„ String ๊ฐ’์ด ๋  ์ˆ˜๋„ ์žˆ๋‹ค๊ณ  ์„ ์–ธํ•œ ๊ฑฐ ๊ธฐ ๋•Œ๋ฌธ์— ์—๋Ÿฌ๊ฐ€ ๋‚˜์ง€ ์•Š๋Š”๋‹ค
String? name = "apple"; //๋ณ€์ˆ˜์— null safety ์„ ์–ธ
  name = null;
  //์ด๋ ‡๊ฒŒ ์„ ์–ธ ํ›„ name์˜ ๊ฐ’์ด Null ์ด ์•„๋‹ ๋•Œ ํ›„์ฒ˜๋ฆฌ๋ฅผ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด if ๋ฌธ์„ ์‚ฌ์šฉํ•ด ์กฐ๊ฑด์„ ์ฃผ๋ฉด ๋œ๋‹ค  
  if(name != null){
    name.length;
  }
  //if๋ฌธ ๋ง๊ณ  ๋” ๊ฐ„๋‹จํ•œ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ๋ณ€์ˆ˜.ํ•˜๊ธฐ ์ „์— "๋ณ€์ˆ˜?.์†์„ฑ" ์ด๋ ‡๊ฒŒ ํ•ด์ฃผ๋ฉด null ์ด ์•„๋‹ ๋•Œ๋งŒ ๋’ค์— ์†์„ฑ์ด ์ž‘๋™๋œ๋‹ค
  name?.length;

 


 

โ€ป Reference

https://nomadcoders.co/ [๋…ธ๋งˆ๋“œ์ฝ”๋” ๊ฐ•์˜ ์ฐธ๊ณ ]

728x90