200728_TIL

oh_ji_0·2020년 7월 28일
1

TIL

목록 보기
2/61

Today I leared

  • 조건문
  • 에러메세지
  • 알고리즘
  • 문자열 / 메소드
  • 디버깅

[조건문]

  • 불린(Boolean) : 참/거짓.

  • 조건문: 조건을 판별하는 기준. 조건문에는 반드시 비교 연산자가 필요하다.

  • 비교 연산자: > , ≥, ≤. < , == , !=, ===, !==

    ===는 타입까지 일치해야 true를 반환한다.

    truthy값 테이블

    https://dorey.github.io/JavaScript-Equality-Table/

  • 조건문: if문

  • 논리연산자: &&(AND연산자), ||(OR연산자), !(NOT연산자)

    OR: 둘중 하나만 true면 true

    AND: 둘 다 true일 때만 true

  • falsy값: false, null, undefined, 0, NaN, ' '

[에러메세지]

  • 콘솔 창, 에러메세지 분석

[알고리즘]

  • pseudocode (의사코드)
    프로그램의 절차 하나하나를 우리가 실제로 사용하는 일반적인 언어을 이용해서 작성하는 방법
    https://en.wikipedia.org/wiki/Pseudocode

  • 반복되는 코드의 분해 필요성

  • 거듭제곱을 구하는 방법

    Math.pow(num1,2);
    num2 ** 2;
    num3*num3;
  • 함수 안의 인자로 받은 값들은 변수로 자동 설정되어있다 (찾아보기)

  • Switch 문 case엔 값( value ) 이 들어간다.

switch (expression) {
  case value1:
    //Statements executed when the
    //result of expression matches value1
    [break;]
  case value2:
    //Statements executed when the
    //result of expression matches value2
    [break;]
  ...
  case valueN:
    //Statements executed when the
    //result of expression matches valueN
    [break;]
  [default:
    //Statements executed when none of
    //the values match the value of the expression
    [break;]]
}

[문자열]

  • ', " 이용하여 문자열 구분, + 연산자를 쓸 수 있다.

  • + 연산자 사용시 문자열로 변환 (배열 역시)

  • str[index] (read-only)

  • length - 배열, 문자열

[메소드]

string 메소드는 IMMUTABLE

  • str.concat()
  • str.substring()
  • str.toUpperCase() - IMMUTABLE

소문자를 대문자로 반환. 원본에 영향을 주지 않음.

  • str.toLowerCase() - IMMUTABLE

대문자를 소문자로 반환. 원본에 영향을 주지 않음.

  • str.indexOf(searchValue)

찾는 값이 없을 시 -1 반환, 찾는 문자열의 처음 등장 첫글자 값 반환

  • str.lastIndexOf()

    문자열 뒤부터 찾아 반환

  • str.includes(searchString)

    boolean 값 반환

  • str.split(seperator)

    seperator 기준으로 분리하여 배열 반환

    str.split('\n') - 줄바꿈 분리.

  • Array.join()
    문자열 변환

  • str.substring(start, end)

    str.substring(0,3) === str.substring(3,0)

  • str.slice(start, end)

    str.slice(start) - 인자를 한개만 넣으면, start 값부터 끝까지.

  • str.parseInt(string, radix);

  • Template string / Template literals

    이중 따옴표 나 작은 따옴표 대신 백틱() (grave accent) 을 이용

    이는 $와 중괄호( $ {expression} ) 로 표기

  • str - str : number 로 변환.

  • str + num: str 으로 변환

[Math 객체]

  • Math.abs()
    절대값 (absolute)
  • Math.pow()
  • Math.max() / Math.min()
  • Math.floor()

[디버깅]

  • 버그 잡기

  • 프로그램 행동 원인 분석

  • 단서 분석, 가설 설정, 가설 검증

  • 유닛테스트 : 경우의 수를 정리하여, 하나씩 기대값과 실제값 비교 분석.

  • 테스트 주도 개발 (TDD) - 테스트가 개발을 이끌어 나간다.

    테스트를 먼저 만들고 테스트를 통과하기 위한 것을 짜는 것.

    경우의 수를 나눠 실제값과 예측 값 비교

    expect(실제값).to.be.equal(예측값)

추가적으로 공부해야하는 것

  • str.trim()

    공백문자 삭제

  • 공백문자

    탭(\t)

    Carrige return, CR (\r) - 종이를 오른쪽으로 보내는 것.

    return 문자 - LF, Line Feed (\n) - 타자기 종이를 위로 올리는 것.

    CRLF (\r\n)

    unix-like - LF, windows - CRLF

  • str.match(regexp)

    정규표현식에 맞는 문자열을 찾아 배열객체로 반환

  • str.replace(regexp|substr, newSubstr|function)

    정규식 객체 또는 리터럴을 newSubstr로 변경하여 반환

  • 정규표현식

    https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/정규식

  • Help Desk 질문 사항 훑어 보기

  • 자바스크립트 기본 서적 훑어보기

[Comment]

@@ 점점 휘몰아치는 강의와 코플릿 과제들, 2일차인데도 문제 보고 약간 당황했다. 어느정도 독학으로 알고 있다고 생각했는데 부족한 게 많다. 복잡하지 않게 최대한 간결하게 코드를 짜고 싶은 마음에 페어분과 열심히 이것저것 시도도 해보고, 오늘은 삼항 연산자의 늪에 빠졌던 시간. 쓸데없는 집착(?)일수도 있지만 새로운 사실을 알았음에 나름 뿌듯했고, 걱정했던 오피스 아워 시간도 생각보다 유쾌하고 재미있고 유익한 시간이었다. 내가 스스로 챙겨야 할 부분이 많은데 놓치는 게 많은 것 같아서 조금 우려스럽기도 하지만 더 힘내기로 다짐해본다.

profile
기본에 충실하고 싶습니다. #Front-end-developer

0개의 댓글