let number = 11; 2진수 변경시 1011
let result = "";
while (true) {
  //1이면 2진수 변환이 끝난 것,따라서 맨 처음에 확인
  if (number === 1) {
    result=1+result;
    break;
  }
  if (number % 2 === 1) {
    result = 1 + result;
  } else {
    result = 0 + result;
  }
  number = Math.floor(number / 2);
}
console.log(result); => 1011
실행 과정
number result number
 11     1     5
 5      11    2
 2      011   1
 1      1011 
이렇게도 해보았다.
let result = "";
while (true) {
  if (number % 2 ===1) {
    result = '1'+result;
  } else {
    result ='0'+result;
  }
  number  = Math.floor(number/2);
  if (number===1) {
    result='1'+result;
    break;
  }
}
console.log(result)
const 이진법 = (숫자) => {
  if (숫자===1)  return '1';
  return 이진법(Math.floor(숫자/2))+String(숫자%2);  
}
console.log(이진법(11)); //1011
실행        	return
이진법(11)    이진법(5)+1  // 1011
이진법(5)     이진법(2)+1  // 101
이진법(2)     이진법(1)+0  // 10
이진법(1)       1
* 주의 String()안 써주면 1+0+1+1이 되서 3을 반환!
let target = "seoul";
const 문자열거꾸로만들기1 = (문자) => {
  if (문자.length === 1) return 문자;
  return (
    문자[문자.length - 1] + 문자열거꾸로만들기1(문자.slice(0, 문자.length - 1))
  );
};
console.log(문자열거꾸로만들기1(target)); // luoes
let target2 = "seoul";
const 문자열거꾸로만들기2 = (문자) => {
  if (문자.length === 1) return 문자;
  let arr = target2.split("");
  let end = arr.pop(); // 맨 마지막 문자
  target2 = arr.join(""); // 마지막 문자가 빠진 문자열을 반환
  return end + 문자열거꾸로만들기2(target2);
};
console.log(문자열거꾸로만들기2(target2)); // luoes
const fb = (fiboIndex) =>{
 if (fiboIndex===1 || fiboIndex===2) return 1;
 return fb(fiboIndex-1)+fb(fiboIndex-2);
}
console.log(fb(8)); //21