TIL

23/10/27 TIL _ nullish 병합 μ—°μ‚°μž " ?? "

GABOJOK 2023. 10. 27. 16:33

 

 

 

πŸš“   nullish 병합 μ—°μ‚°μž      "??"

 

  • 값이 μ •μ˜λ˜μ–΄ μžˆλŠ” 것을 λ°˜ν™˜ν•œλ‹€. 
  • ??  μ—°μ‚°μž μ•žμ— μ˜€λŠ” 값이 null, undefined λͺ¨λ‘ 아닐 경우 μ•žμ— μ˜€λŠ” 값을  , 그게 μ•„λ‹ˆλΌλ©΄ λ’€μ—μ˜€λŠ” 값을 λ¦¬ν„΄ν•œλ‹€.
//nullish λ³‘ν•©μ—°μ‚°μž μ‚¬μš©ν•œ μ½”λ“œ
x = a ?? b;

//nullish λ³‘ν•©μ—°μ‚°μž μ•ˆμ“΄ μ½”λ“œ
x = (a !== null && a !== undefined) ? a : b;

 

 

 

  • ORμ—°μ‚°μž (" ||") 와 λΉ„μŠ·ν•˜μ§€λ§Œ,  "||" λŠ” 첫번째 truthyν•œ 값을 λ°˜ν™˜ν•˜κ³ , "??" λŠ” 첫번째 μ •μ˜λœ 값을 λ°˜ν™˜ν•œλ‹€.
  • λ”°λΌμ„œ 값이 0일 경우 μ™„μ „νžˆ λ‹€λ₯΄κ²Œ μž‘λ™ν•œλ‹€. 
let height = 0;

alert(height || 4824); // 4824
alert(height ?? 4824); // 0

 

 

λ˜ν•œπŸ˜²

  • μš°μ„ μˆœμœ„κ°€ 5이기 λ•Œλ¬Έμ— "= " κ³Ό " ?" μ—μ„œλŠ” λ¨Όμ € μ‚¬μš©λ˜μ§€λ§Œ, λŒ€λΆ€λΆ„ μ—°μ‚°μž λ³΄λ‹€λŠ” λ‚˜μ€‘μ— μ‚¬μš©λœλ‹€. 
  • λ³΅μž‘ν•œ ν‘œν˜„μ‹ μ•ˆμ—μ„œ "??"λ₯Ό μ‚¬μš©ν•˜κ²Œ 되면, κ΄„ν˜Έλ₯Ό μΆ”κ°€ν•΄μ„œ μ‚¬μš©ν•˜λŠ”κ²ƒμ΄ μ•ˆμ •μ μ΄λ‹€. 
  • μžλ°”μŠ€ν¬λ¦½νŠΈ μ–Έμ–΄μ—μ„œ μ•ˆμ •μ„± κ΄€λ ¨ 이슈 λ•Œλ¬Έμ— "??"λŠ”   "||" , "&&"와 ν•¨κ»˜ μ‚¬μš©ν•˜μ§€ λͺ»ν•œλ‹€. _ κ΄„ν˜Έ μ‚¬μš©ν•˜λ©΄ κ°€λŠ₯ν•˜λ‹€.
  • μΆ”κ°€λœ 지 μ–Όλ§ˆ μ•ˆ 된 문법이며, 였래된 λΈŒλΌμš°μ € μ—μ„œλŠ” 폴리필이 ν•„μš”ν•˜λ‹€. 

 

 

 

 

좜처

https://ko.javascript.info/nullish-coalescing-operator

 

nullish 병합 μ—°μ‚°μž '??'

 

ko.javascript.info