TIL 3일차

ᄋᄋ·2021년 11월 11일
0

코플릿 문자열

  • 헷갈린 문제
function findStrongestOfThreePeople(A, B, C) {
  let strongest = A;  //일단, 제일 강한 사람으로 A를 임의로 지정

  ///A vs B///
  if (A < B) {		*A보다 B가 강할 때
    strongest = B;	*재할당
    /// B vs C///
    if (B < C) {
      strongest = C;	*재할당
    }
  } else {		*B보다 A가 강할 때
    ///A vs C///
    if (A < C) {
      strongest = C;
    }
  }
  return strongest;
}

  • slice(start) : end 없으면 끝까지임.
'abcd'.slice(2)		// 'cd'
  • n분을 일,시,분으로 변환하는 문제: 큰 단위를 우선으로 조건문 작성하기.
    - day, hour, min 중에서 큰 단위는 day임.
    - 분을 기준으로 1day = 60*24, 1hour = 60, 1min = 1
    - 뭔가를 망으로 거른다고 생각하고 보면, 일단 큼직한 거 먼저 건져서 제거하고, 작은 건 나중에 거르는 식임.

chapter 반복문

  • for 문
for (초기화 ; 조건식 ; 증감문) {
	반복할 코드;
}

for (let i = 0; i < 5; i++) {	//0부터 4까지 연속해서 출력됨.
	console.log(i);
}
  • while 문
초기화
while (조건식) {
반복할 코드
증감문
}

let i = 0;
while (i < 5) {
	console.log(i);
    i++;
}

//계속 반복하기
while(true) {
	반복할 코드;
}
  • forwhile의 차이 : for문은 몇 번 반복해야 하는지 알 때 쓰기 좋고, while문은 반복할 횟수는 잘 모르겠고, 그냥 조건에 따라 코드를 반복하고 싶을 때 쓰기 좋음.

  • 반복문에 조건문을 적용해서 쓰기도 함.

  • 이중 포문

for (let i = 0; i < 5; i++) {
	for (let j = 0; j < 5; j++) {
    	i와 j로 이루어진 코드들..
    }
}
  • continue문은 현재 반복에서 명령문의 실행을 종료하고 반복문의 처음으로 돌아가여 루프문의 다음 코드를 실행함.
    즉, 1-2-3(continue)-4-5 --> 1-2-4-5

    let text = '';
    
    for (let i = 0; i < 10; i++) {
      if (i === 3) {
        continue;
      }
      text = text + i;
    }
    	
    console.log(text);
    // expected output: "012456789"
    
  • break문은 현재 반복문을 종료하고, 그 다음 문으로 프로그램 제어를 넘김.

    let i = 0;
    
    while (i < 6) {
      if (i === 3) {
        break;
      }
      i = i + 1;
    }
    
    console.log(i);
    // expected output: 3

코플릿 반복문

  • 제곱근을 이용한 소수 구하기 문제 --> Math.sqrt()
  • 나누기(/), 나머지(%) 연산 안 쓰고 홀/짝수 구하기. --> 계속 2로 빼고 나면 0 또는 1이 남는데 0은 짝수, 1은 홀수를 의미함.

sprint review

  • do...while 구문 : 테스트 조건이 거짓으로 평가될 때까지 지정된 구문을 실행하는 루프를 만듬. 단, 구문이 실행된 뒤에 테스트 조건이 평가됨으로 구문은 무조건 한 번은 실행됨.

    let i = 0;
    
    do {
      i = i + 1;
      result = result + i;
    } while (i < 5);
    
    console.log(result);
    // expected result: "12345"

올바른 코드 스타일링

  • Indentation(들여쓰기) : 들여쓰기를 할 때 탭이 아닌 스페이스 2번이 더 권장됨. 탭과 스페이스를 혼용해서 쓰는 건 피해야 함!

  • Naming(이름 짓기) :

    • 변수명은 값의 본질적인 의미를 가지고 있어야 함.
    • 값의 형식이 아닌, 그 값의 의미가 변수 이름에 반영되어야 함.
    • 데이터의 모음(collection)이 할당된 변수의 이름은 복수 명사가 좋음.
    • boolean이 할당된 변수는 is 혹은 are을 붙여서 참 혹은 거짓임을 분명히 표현하기.
    • 함수의 이름은 동사로 시작하는게 좋음.
    • 변수 할당 값이 Class인 경우에 주로 변수의 첫 글자를 대문자로 사용함.
    • 상수는 모두 대문자로 함.
  • 기호 및 구두점(punctuation) :

    • 문법적으로 생략 가능한 때에도 중괄호는 생략하지 않음.
    • JavaScript의 문자열 표시는 작은 따옴표가 좋음.
    • 줄 바꿈이 필요한 문자열을 정의할 때는 `(백틱, backtick) 사용을 권장함.
    • 코드 실행의 가장 작은 단위인 Statement(문)의 끝에 세미콜론을 사용함.
    • if, for, while문의 끝에는 세미콜론을 사용하지 않아야 함.
    • 함수 표현식의 끝에는 세미콜론을 사용함.
  • 연산자와 키워드 :

    • 엄격한 비교 연산자를 사용 (===, !==)
    • 3항 연산자(?)는 간결하고 가독성이 좋은 경우만 사용
    • not 연산자(!)는 바로 앞에 붙여서 사용
  • 짧게 쓰기 :

    • 코드는 되도록 짧게
    • NOT 연산자는 부정할 부분이 명확할 때 사용.
    • Boolean으로 평가되는 표현문은 바로 return함.
  • 코드 문장과 구문 사이 공간 :

    • 한 번에 더 많은 코드를 읽기 위해서, 줄 바꿈은 최소로 사용함.
    • 들여쓰기는 일관성있게, 최소화하여 사용함.
    • 같은 라인에 값을 보기 위해 하는 들여쓰기는 지양함.
    • 콤마(,)나 연산자 사이는 한 칸 띄어씀.
  • 주석 :

    • 주석은 꼭 필요한 경우에만 작성함.
    • 변수 이름과 구조로 코드의 목적이 명확히 표현되면 주석을 적을 필요가 없음.
    • 주석으로 코드의 작동을 설명하는 것은 지양함.
  • camelCase vs. snake_case

    • JavaScript에서 snake_case를 사용하는 경우는, 상수 이름을 지을 때임.
  • 유명한 코드 스타일 가이드 :

profile
개발자A

0개의 댓글