[TIL] JS 기초 제어문, 페어 프로그래밍 회고

ㅜㅜ·2022년 8월 25일
1

Today I learn

목록 보기
3/77
post-thumbnail

조건문


어떠한 조건을 판별하는 기준을 만드는 것. (조건은 '큰 것'부터 만들기)
  • 비교 연산자 : ===,!==, <, >, <=, >=
1 === '1' //false
2 > 1 //true
  • 논리 연산자 : &&, ||, !
true && true // true
true && false // false
false || false // false
false || true // true

  • 조건문 작성
if(조건1){

}else if(조건2){

}else{

}




문자열


- length property : 문자열의 길이를 반환. ```js let str = "바보" console.log(str.length)//2 ```
- 문자열 관련 매서드
str.indexOf(찾는 값)//앞에서부터 0~ ,찾고자 하는 문자열 없으면 -1로 표기
str.includes(찾는 값)//boolean 값 반환.
str.split(분리 기준)//csv(comma-separated-values)형식 사용시 유용.
str.substr(처음, 잘라낼 길이)//
str.substring(처음,)//시작과 끝 인덱스 사이의 문자열을 반환. 끝 인덱스 문자열은 반환하지 않는듯?
str.slice(처음,)//substring과 비슷하지만 처음 > 끝일 때 빈문자열 반환.(substring은 둘의 자리를 바꿔서 문자열 반환)
str.toLowerCase(),str.toUpperCase()//argument가 없음. 대소문자로 변환된 문자열 반환.

- immutable : 원본이 변하지 않는다. (모든 string method는 immutable)

(배열 매서드에서는 immutable/mutable 여부가 중요하다고 한다.)





반복문


같거나 비슷한 코드를 여러 번 실행할 때 사용.
  • for문 : 초기화, 조건문, 증감문 순서로 괄호 안에 작성.
function Loop(num){
  let sum = 0
  for(let i = 0; i < num; i++){
	sum = sum + i
  }
	return sum}//num이 5일 때 10을 반환한다.
  • while문 : 조건문만 괄호 안에 적음. 초기화, 증감문은 따로 적어줌. (혹은 초기화, 증감문 필요 없는 경우에 사용하기도 함)
let sum = 1;
let n = 2;

while(n<=4){
sum = sum + n;
n = n + 1;
}

console.log(sum); //10




debugger!


개발자 도구 콘솔에서 디버거를 사용해서 작성한 함수의 버그를 확인 가능.

'함수 입력' 후, 'debugger; 예시' 순으로 작성.







페어 프로그래밍 회고


프로그래밍을 남과 함께 하는 건 처음이었는데, 이틀간 조건문, 문자열, 반복문을 가지고 코플릿에서 과제를 함께 했다.

GOOD


  1. 혼자서 유튜브나 인프런 강의 들으면서 코드를 써볼 땐 '코드를 짠다'기 보다는 그냥 '따라서 친다'에 가까웠었음. 의사 코드 작성하면서 차근차근 문제에 맞춰서 코드를 만들어 볼 수 있었다.

  2. 네비게이터 역할이든 드라이버 역할이든 머릿속에 든 생각을 설명하는 과정에서 좋은 답변으로 이어지거나, 혹은 내가 생각하고 있는 게 틀렸다는 걸 깨달을 수 있음.

  3. 페어가 코딩 경험이 풍부해서 여러가지 팁들을 많이 알려주셨음. 성장에 정말 많은 도움이 되었다.

  4. 다 풀고 래퍼런스 확인하면서 내가 짠 코드와 다른 코드를 많이 보았는데, 그런 경험도 동기부여가 많이 되는 것 같다. '좀 더 나은 코드를 짜야겠구나!' 그런 생각.

BAD


  1. 스트링 매서드들 다 숙지하지 못한 상태로 문제 풀어서 문자열 문제 풀 때 매서드를 생각해내야 할 때 조금 힘들었음. 복습 필요.

  2. 문제가 각각 17, 17, 21문제 정도로 많았는데 중간중간 안 풀리는 문제들은 일단 넘어갔으면 좋았을텐데 생각 외로 오래 잡고 있었던 문제도 많았음. 시간 관리!

  3. return 자리가 제대로된 결과를 산출하는 데 중요한 것 같다고 느꼈는데, 아직 return을 어디에 붙여야 할 지 감이 안 올 때가 있음. 아마 의사코드 작성이 좀 부진해서 그런듯. 아니면 의사코드를 작성했더라도 그걸 참고 안 하고 그냥 멋대로 코드를 치면 그렇게 되는듯.

  4. break를 잘 쓰면 유용할 것 같은데, 사실 아직 문제를 풀 때 바로바로 떠오르지는 않는다.

profile
다시 일어나는 중

0개의 댓글