Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 깊이 우선 탐색
- level 3
- LEVEL 2
- C언어
- 동적계획법
- Lv. 0
- 자바스크립트
- Lv. 1
- Python
- 너비 우선 탐색
- 소프티어
- 오블완
- 프로그래머스
- Lv. 2
- Java
- softeer
- 파이썬
- 티스토리챌린지
- javascript
- join
- programmers
- bfs
- Dynamic Programming
- DP
- SQL 고득점 KIT
- SQL
- dfs
- group by
- select
- Lv. 3
Archives
- Today
- Total
몸과 마음이 건전한 SW 개발자
자바스크립트 [조건문 리펙토링] 본문
기본 조건문
let answer = 0;
for (let i = 1; i < 11; i++) {
if (answer) {
answer += i;
} else {
answer = 1;
};
};
console.log(answer); // 55
리펙토링
let newAnswer = 0;
for (let j = 1; j < 11; j++) {
newAnswer = newAnswer + j || 1;
};
console.log(newAnswer); // 55
설명
- 기존 조건문은 if 와 else로 나눠서 answer값이 존재하면 i를 더해주고 아니면 answer는 1이된다.
- 총 길이는 7줄이다.
- 리펙토링을 한 경우 newAnswer가 존재할 경우 j를 더해주고 아니면 위와 동일하게 1이 된다.
- 총 길이는 3줄이다.
결론
- 위와 같은 형태로 리펙토링을 진행하게 되면 7줄을 3줄로 줄여주는 효과를 본다.
- 즉, 2배 이상의 효과를 낼 것으로 기대한다.
- 하지만 이것은 어디까지나 answer 값이 존재 할 경우와 존재하지 않을 경우만 비교해주므로 적절한 응용이 요구된다.
예시
let test = 1;
test = test + 1 || test || 3;
console.log(test) // 2
test = test + 1 && test && 3;
console.log(test); // 3
'개발 언어 입문 > 자바스크립트 문법' 카테고리의 다른 글
프로그래머스 [Lv. 0] 특정 문자 제거하기 {언어 : JavaScript} (0) | 2024.08.19 |
---|---|
자바스크립트 Heap [최소힙 구현] (0) | 2024.03.25 |
자바스크립트 [배열 비교] (0) | 2024.03.17 |
자바스크립트 [빈 배열을 요소로 가진 배열 만들기] (0) | 2024.03.17 |
자바스크립트 [sort 기본 개념] (0) | 2024.03.11 |