220622 TIL

Parker.Park·2022년 6월 22일
0

TIL

목록 보기
22/39

220622 TIL

javascript 메소드들을 그래도 꽤 많이 써보지 않았을까 생각할 때, 꼭 새로운 메소드 기능을 발견하고는 놀란다.

if문에서 continue

구문

continue [label];

continue 문은 현재 또는 레이블이 지정된 루프의 현재 반복에서 명령문을 종료 하고 반복문의
처음으로 돌아가 루프문을 반복한다고 한다.

"01010001" 중에 "0"면 제외하고, "1" 만 만드는 문자열을 반환 하려고 했다.
여러방법이 있겠지만 먼저 while문 과 splice method를 사용하려고 했다.

let s = "01010001";
let str = s.split(""); // splice를 활용하기 위해 배열을 만들었다.
let i = 0;
while (i < str.length) {
  if (str[i] === "0") {
    str.splice(i, 1);
  } else {
    i++;
  }
}
str.join("");

여기서 for문을 사용하여 새로운 문자열을 만들 수 있다고 생각했다.

let s = "01010001";
let answer = "";

for (let i = 0; i < s.length; i++) {
  if (s[i] === "1") answer += "1";
}

continue를 사용한 예시이다.

let s = "01010001";
let answer = "";

for (let i = 0; i < s.length; i++) {
  if (s[i] === "0") {
    continue;
  }
  answer += s[i];
}

위 3가지 모든 코드에서 "0"을 뺀 문자열인 "111"반환 하기위해 사용한 코드들 이었다.

for, while문 에서 break와 달리 루프를 실행 종료하지 않고, 다음과 같이 동작한다고 한다.

  • while 루프에서는 다시 조건으로 점프한다고 한다.
  • for 루프에서는 업데이트 표현식으로 점프한다고 한다.

label 사용하기

continue 와 [label] 을 사용하면 선택적으로 건너 뛸 수 있다고 한다.
다음은 예시이다.

test1: for (let i = 0; i < 3; i++) {
  console.log(`i = ${i} 일 때,`);
  for (let j = 0; j < 2; j++) {
    if (i === 1) {
      console.log(`건너뜁니다.`);
      continue test1;
    }
    console.log(`j가 ${j} 일 때, (i,j) = (${i}, ${j})`);
  }
  console.log("입니다.");
}

/*
i = 0 일 때,
j가 0 일 때, (i,j) = (0, 0)
j가 1 일 때, (i,j) = (0, 1)
입니다.
i = 1 일 때,
건너뜁니다.
i = 2 일 때,
j가 0 일 때, (i,j) = (2, 0)
j가 1 일 때, (i,j) = (2, 1)
입니다.
*/

toString()

toString()은 10진수를 n진수로 변환하여 문자열로 바꿔주는 것으로만 알고 있었다. 알고만 있었을 뿐 사용은 안하는 메소드라 이번에 가볍게 올리려고 했는데...(두둥)

매개변수

선택적으로 radix(기수)를 매개변수로 취합한다고 한다. 기수의 값은 최소 2~36까지라고 한다.
10진수를 다른 진수로 변환할 수 있다고 한다.

let num = 10
console.log(num.toString()) //'10'
console.log(num.toString(2)) //'1010'

MDN을 보던 중 생각보다 내용이 깊어져 아래 벨로그를 작성하였다.
Object.prototype.toString()

참조

[continue, MDN, 2022년06월23일 접속]
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/continue
[Object.prototype.toString(), MDN, 2022년06월24일 접속]
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/toString#%EC%8B%9C%EB%8F%84%ED%95%B4%EB%B3%B4%EA%B8%B0

profile
개발자준비중

0개의 댓글