ELI5 JavaScript: Nullish 병합(??) 및 논리적 Nullish 할당(??=)
'Nullish Coalescing'과 'Logical Nullish Assignment'라는 단어를 처음 들었을 때의 반응이었습니다 😂
하지만 걱정하지 마세요! 이 두 가지 모두 최신 JavaScript에 도입된 가장 단순하면서도 강력한 개념 중 일부입니다!
기사를 끝까지 읽고 이에 대해 자세히 알아보세요 :)
더 이상 고민하지 않고 ...
목차:
1.1 Difference between OR (||) & Nullish Coalescing (??)
1.2 Short-circuiting
1.3 Assign default values
1. 무효 합체
하는 논리 연산자입니다.
let person1
console.log( person1 ?? "Nisarg" ) //output = Nisarg
let person2 = null
console.log( person2 ?? "Nisarg" ) //output = Nisarg
let person3 = "Kapkar"
console.log( person3 ?? "Nisarg") //output = Kapkar
1.1 OR(||)과 Nullish 병합(??)의 차이점
let n1 = 0
console.log( n1 || 10 ) //output = 10
console.log( n1 ?? 10 ) //output = 0
let n2
console.log ( n2 || 10 ) //output = 10
console.log (n2 ?? 10 ) //output = 10
1.2 단락
Nullish Coalescing은 'Short-circuit' 평가에도 사용할 수 있습니다.
두 번째 인수는 첫 번째 인수가 null이거나 정의되지 않은 경우에만 평가됩니다!
let a
let b = 10
function c() {
console.log("c called")
return 1
}
console.log( a ?? c() ) //Output: c called 1
console.log( b ?? c() ) //Output: 10
1.3 기본값 할당
Nullish 병합을 사용하여 변수에 기본값을 할당합니다. 숫자가 null이거나 정의되지 않은 경우 변수를 10에 할당한다고 가정합니다.
let number = 0
let a = number || 10
let b = number ?? 10
console.log(a) //Output: 10
console.log(b) //Output: 0
OR을 사용하여 기본값을 할당하면 예기치 않은 결과가 발생할 수 있습니다!
2. 논리적 무효 할당
let a
let b = 10
a ??= 100
b ??= 100
console.log(a) //Ouput = 100
console.log(b) //Ouput = 10
논리적 Nullish는 변수가 null이거나 정의되지 않은 경우 값을 할당하는 할당 연산자입니다.
위의 예에서 a는 정의되지 않았으므로 100을 할당합니다. b는 이미 정의되어 있으므로(10) b에는 값이 할당되지 않습니다!
우우! 읽어주셔서 감사합니다😄
Nullish Coalescing 또는 Logical Nullish Assignment(또는 일반적으로 JavaScript에 대해)에 대해 질문이 있는 경우 의견에 자유롭게 질문하십시오 👇
이 기사는 ELI5 JavaScript 시리즈의 일부입니다.
JavaScript에 대해 더 많이 읽고 배우고 싶다면 구독하는 것을 잊지 마세요(더 많은 기사가 곧 제공될 예정입니다!).
전체 스택 개발, 소프트웨어 엔지니어링 및 데이터 구조/알고리즘에 대한 자세한 내용을 보려면 저를 팔로우하세요👇.
다시 감사합니다 :)
멋진 하루와 행복한 코딩 되세요 😄
Reference
이 문제에 관하여(ELI5 JavaScript: Nullish 병합(??) 및 논리적 Nullish 할당(??=)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/nkap/eli5-javascript-nullish-coalescing-logical-nullish-assignment--510g텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)