개념,기능 정리

논리연산자, 병합연산자 +@

rhdaud2 2024. 2. 28. 15:30

 

 if 문 사용하는 대신, 논리연산자 (||) 사용 가능

function showMessage(text) {

  if (text === undefined) { // 매개변수가 생략되었다면
    text = '빈 문자열';
  }

  alert(text);
}

showMessage(); // 빈 문자열

 

// 매개변수가 생략되었거나 빈 문자열("")이 넘어오면 변수에 '빈 문자열'이 할당.

 

 

ex.

function showMessage(text) {
  text = text || '빈 문자열';
  }

 

 

 

 

nullish 병합 연산자 (??)

 

a ?? b
= a가 null도 아니고 undefined도 아니면 a
그 외의 경우는 b

 

 

|| 와의 차이

|| : 첫번째 truthy 값 반환
?? : 첫번째 정의된 값 반환

 

 

height = height ?? 100;

height에 값이 정의되지 않은경우 height엔 100이 할당됩니다.

let height = 0;

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

||  : 0을 falsy 한 값으로 처리해서  결과 : 100
?? : null, undefined 둘 다 아니기때문에  결과:0

 

 

 

 

 


 

 

 

함수 이름 짓기

"show"로 시작 : 무언가를 보여주는 함수
"get…" – 값을 반환
"calc…" – 무언가를 계산
"create…" – 무언가를 생성
"check…" – 무언가를 확인하고 불린값을 반환

 



안 좋은 예:
getAge 함수는 나이를 얻어오는 동작만 수행해야 합니다. 

alert 창에 나이를 출력해 주는 동작은 이 함수에 들어가지 않는 것이 좋습니다.


createForm 함수는 form을 만들고 이를 반환하는 동작만 해야 합니다. 

form을 문서에 추가하는 동작이 해당 함수에 들어가 있으면 좋지 않습니다.


checkPermission 함수는 승인 여부를 확인하고 그 결과를 반환하는 동작만 해야 합니다. 

승인 여부를 보여주는 메시지를 띄우는 동작이 들어가 있으면 좋지 않습니다.

//함수 명에 관련된 기능만 하는 것이 좋음
// 함수가 길어질 경우 분리 작업

 

'개념,기능 정리' 카테고리의 다른 글

[js] 제어문 (조건문 / 반복문, break, continue)  (0) 2024.03.31
jQuery  (0) 2024.03.07
[JS]연산자 / 형 반환  (0) 2024.02.23
javaScript 복습 전 개념정리  (0) 2024.02.20
기능 추가 제공 사이트 (disqus, tawk.to)  (0) 2024.02.20