Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

삼항 연산자의 성능이 좋은가 #71

Open
samslow opened this issue Aug 5, 2020 · 2 comments
Open

삼항 연산자의 성능이 좋은가 #71

samslow opened this issue Aug 5, 2020 · 2 comments
Assignees
Labels
Answered 답변이 완료된 상태

Comments

@samslow
Copy link
Member

samslow commented Aug 5, 2020

No description provided.

@dev-owen
Copy link
Member

dev-owen commented Aug 9, 2020

결론부터 말하면, 별 차이 없고 if 문의 성능이 조금 더 나은 듯 하다.

코드 라인 수가 적다고 컴파일 시간이 항상 더 빠른 것은 아니다. 삼항연산자를 쓰는 이유는 코드의 가독성을 좀 더 높이기 위함이며, 성능을 최적화 하고 싶다면 삼항연산자를 쓸지 if 문을 쓸지 고민하는 것보다 다른 부분을 리팩토링 하는 것이 훨씬 더 효율적이다.

let start = (new Date()).getTime();

let flag = false;

for(let i = 0; i < 100000000; i++) {
  let tmp = null;
  tmp = flag ? true : false;
}

let end = (new Date()).getTime();

console.log('ternary op.', end-start); // 매번 조금씩 다르긴 하지만 일반적으로 84~87

start = (new Date()).getTime();

for(let i = 0; i < 100000000; i++) {
  let tmp = null;
  if(flag) tmp = true;
  else tmp = false;
}

end = (new Date()).getTime();

console.log('if state.', end-start); // 매번 조금씩 다르긴 하지만 일반적으로 79~81

@samslow samslow added the Answered 답변이 완료된 상태 label Aug 11, 2020
@samslow
Copy link
Member Author

samslow commented Aug 11, 2020

요거요거 어디서 본 말인데 이게 맞는듯 합니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Answered 답변이 완료된 상태
Projects
None yet
Development

No branches or pull requests

2 participants