괴발개발 성장기

Study/React

[자바스크립트] 삼항연산자

지니유 2022. 7. 4. 21:24
반응형

# 배경

처음에는 if문을 많이 사용했다. 근데 동료가 이럴때에는 삼항연산자를 사용하면 코드가 깔끔하다는 걸 알려줬다.

나는 그래서 if문을 점점 안쓰게 된다. 갑자기 삼항연산자의 장,단점이 갑자기 궁금해졌다.

 

# 장점

  • 할당연산자를 효율적으로 사용할 수 있다. => if문을 사용할 때마다 return값을 사용한다. 그런데 삼항연산자를 사용하면 return은 한번만 사용하면 된다.

# 단점

  • 중첩 삼항연산자를 사용하는 경우 가독성이 떨어진다.

 

# 문법

조건 ? 참일때 : 거짓일때

# 예시

type=== "BANNER" ? 1208 : 500
  • 배너인 경우 1208이고 아니면 500으로 한다

 

처음에는 삼항연산자만 쓰고 중첩인 경우에는 if문을 사용했는데 중첩도 가능하다는 사실을 알았다.

그래서 중첩 삼항 연산자도 자주 사용하고 있다.

 

# 중첩삼항연산자 문법

조건 ? 참일때
: 조건? 참일때
: 조건? 참일때
: 거짓일때

# 예시

const type = "BANDBANNER"
let width;

type=== "BANDBANNER"
  ? (width = 1208)
  : type === "BANNER"
  ? (width = 1600) :
  type === "pcImage" || type === "mobileImage" 
  ? (width = 1250): (width = 500);
  
  console.log(width) //1208
  • 띠배너일 때에는 1208, 배너일 때 1600, 피씨이미지, 모바일이미지는 1250, 그 외는 500이다
  • 현재는 때 띠배너이니까 1208이다.

 

+ 글을 쓰다가 궁금해졌다. if문과 switch문 중에서  switch문이 빠르다는 걸 저번에 go언어 증명했었다.

그렇다면 if문과 삼항연산자 중에서는 뭐가 빠를까?

나는 요즘 삼항연산자를 많이 쓰게 된다. 

 

https://pink1016.tistory.com/91?category=997400 

 

[golang] if문 대신 switch를 쓰는 이유

#배경 회사에서 스터디를 하는데 if문 대신 switch문을 쓰는 이유가 뭐냐고 물어보셨다. 단순한게 if문이 복잡할 때에는 가독성이 떨어지니까 switch문을 사용한다고 생각했다. 근데 swi

pink1016.tistory.com

 

 

 

반응형