개인공부/TIL(Today I Learned)

TIL 10일차_git과 CLI

soon327 2021. 1. 28. 00:47

git (버전 관리 시스템)

branch

  • 사전적 의미 : 분기
  • 일반적으로 작업시 feature브랜치 -> develop브랜치 -> master브랜치로 진행된다.
    작업단계라고 생각하자.

CLI (Command Line Interface)

  • ~ 홈 디렉토리
  • / 루트 디렉토리
  • . 현재 디렉토리
  • .. 부모 디렉토리
  • 파일이름의 공백은 \(백슬래쉬+공백)으로 작성한다.

자주사용하게 될 CLI 프로그램

  1. Package Manager(프로그램 추가/삭제): Homebrew
  2. 텍스트 에디터: VIM
  3. 클라우드 서비스 관리: AWS CLI

Today's ?!

  1. const로 선언된 변수는 재할당이 불가능 하다.
    그러나 배열이나 객체와같은 참조타입 데이터가 할당되었을 경우에는 새로운 요소를 추가하거나 삭제할 수 있다.
    why? 주소값을 저장한 것이기 때문에.
    다만 역시, 재할당은 불가능하다.
    재할당이 가능한 let을 두고 const 키워드를 쓰는 이유가 뭘까? 버그를 막기위해서?

  2. 호이스팅
    자바스크립트의 특징 중 하나.
    함수 선언문, var 변수 선언은 위치와 상관업이 항상 맨위로 끌어올려져 먼저 해석된다.
    할당은 호이스팅되지 않으므로 작성 순서에 주의하자.

  3. git log에서 나가는법 : q누르기

  4. 참조타입 데이터는 값이 변하면 변수에 할당된 주소값이 변하는게 아니라 heap에 있는 값이 변하기 때문에,
    할당한 순서와 상관없이 데이터의 수정이 가능하다.
    (ex. 변수1에 객체가 할당된 변수2를 할당한 후에, 변수2의 값을 수정해도 변수1의 값이 같이 변한다.)
    (아래 참고)

  • 원시 타입 데이터
let overTwenty = true;
let allowedToDrink = overTwenty;

overTwenty = false;
expect(allowedToDrink).to.equal(true);
  • 참조 타입 데이터
const overTwenty = ['hongsik', 'minchul', 'hoyong'];
let allowedToDrink = overTwenty;

overTwenty.push('san');
expect(allowedToDrink).to.deep.equal(['hongsik', 'minchul', 'hoyong', 'san']);
  1. 함수를 호출하면서 넘긴 인자가 호출된 함수의 지역변수로 (매 호출 시마다) 새롭게 선언된다.
    따라서 그 함수 안에서는 매개변수를 따로 선언 안해줘도 되는것!

  2. Object.keys(객체가 할당된 변수명)
    객체의 property(key) 명으로 이루어진 배열을 만든다.

  3. 변수에 저장되지 않은 [1, 2, 3]
    [1, 2, 3]이라는 데이터가 heap에 저장되지만 변수 할당이 되지 않아 주소는 어디에도 저장되지 않는다.

'개인공부 > TIL(Today I Learned)' 카테고리의 다른 글

TIL 12일차_CSS단위 vh,vw와 %  (0) 2021.01.30
TIL 11일차_JS기본  (0) 2021.01.29
TIL 9일차_데이터의종류와 SCOPE  (0) 2021.01.27
TIL 8일차_배열과 객체  (0) 2021.01.26
TIL 7일차_CSS기본  (0) 2021.01.25