๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Dart/๊ธฐ์ดˆ

[Dart ๊ธฐ์ดˆ] null safety

by ๋ฟŒ๋น„ 2024. 7. 31.
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

'Dart > ๊ธฐ์ดˆ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Dart ๊ธฐ์ดˆ] List, Map, Set  (0) 2024.07.31
[Dart ๊ธฐ์ดˆ] DATA TYPE  (0) 2024.07.31
[Dart ๊ธฐ์ดˆ] ๋ณ€์ˆ˜  (0) 2024.07.31
Dart ์ปดํŒŒ์ผ๋Ÿฌ  (0) 2024.07.31
Flutter SDK ๋ž€?  (0) 2024.07.30