[TIL] 코드스테이츠 02주차 [Full Pre 8기]

2020 11 02

오늘 배운 것

  • str.substring vs str.slice : 음수는 끝자리부터 카운트하는 slice가 보다 직관적. 숫자 하나만 입력하면 숫자 문자열만큼(str[num-1]까지) 잘라냄.
  • array.pop(), array.push(), array.shift(), array.unshift()
  • array1.concat(arr2), array.slice([start],[end])
  • Array.isArray()
  • Dev tool에서 console.table(array)

2020 11 03

오늘 배운 것

  • 배열 변형시키는 메소드 vs 변형시키지 않는 메소드

    • 변형시키는 경우, newarr = 할당해서 새로 풀자
  • array.slice( ~, ~) vs. array.pop()

    • 주소값 동일한지 중요

      주소값 동일한지는 배열을 새로 할당하지 말라는 것과 같은 건가? → appay.prototype.slice( , ) 쓰지 말라는 것 == 복사하지 말라는 것

  • array.splice(시작점, 갯수)

  • array.join() // array.join('') : 배열의 요소를 합쳐 문자열로 나타내줌

  • null은 원시 타입

  • 전역 변수 let, const 없이 선언 방지해주는 것 블록 맨 앞에 'use strict' 써주기.

  • 원시 자료 vs 참조 자료에서 객체를 복사하는 게 아니라 주소값만 복사하는 개념. 주소값을 갈아주면 그 주소값을 사용하는 값 모두 바뀌어 나타남.

  • 원시 자료와 달리 참조 자료는 heap이라는 공간에 값이 할당되고 같은 주소를 쓰는 배열, 객체에서 다른 값을 할당할 경우 heap에 접근 가능?

  • 같은 주소를 바라보고 있는 여러개의 변수 중에서 (즉, 하나의 참조 자료를 바 라보고 있는 복수의 변수 중에서) 한 변수에 원시 자료가 할당된다면 기존 참조 자료에 접근할 수 없다. → 기존 참조 자료는 변하지 않음

  • ...array

  • ...args : rest parameter, rest syntax라고 부름. 남아있는 모든 인자를 하나의 배열에 담음.

  • 클로저 함수: 외부 함수의 변수에 접근할 수 있는 내부 함수

[번역] 자바스크립트 스코프와 클로저(JavaScript Scope and Closures)

디버깅 과정 잘 나와있음.

  • spread syntax : ... → 브라켓 지워주면서 낱개로 합쳐줌.

나중에 배울 것

  • for ~ in vs. for ~ of
  • bigint
  • symbol
  • 참조형 자료에서 heap

2020 11 04

오늘 배운 것

  • unix/linux 명령어
    • ls, sudo, rm, mv, cp, mkdir
  • git status → git add [파일명] → git commit -m 'completed [파일명]' → (파일별로 다 하고 나면) git push origin master
  • number + string → string type, number - string → number type

+ is ambiguous. It can mean "concatenate" or "add". Since one side is a string, it is taken to mean "concatenate", hence the result is 11 (which, by the way, was one of my favourite jokes as a young child. That and "1 + 1 = window", as shown visually: │┼│ ニ ⊞)
. however has only one meaning: subtract. So it subtracts.

  • 호이스팅 Hoisting
    • 표현 1: 함수 안에 있는 선언들을 모두 끌어올려서 해당 함수 유효 범위의 최상단에 선언하는 것
    • 표현 2: 함수가 자신이 위치한 코드에 상관없이 함수 선언문 형태로 정희한 함수의 유효 범위는 코드의 맨 처음부터 시작
  • obj 내에 함수 리턴값에 this.key 이런 형식이면 해당 오브젝트 내 해당 키값 적으면 됨
  • new Date().getFullYear() → 메소드
  • Object.assign( ~~ , ~~) 으로는 깊은 복사를 할 수 없다.
  • Object.assign(): 하나 이상의 객체로부터 속성 복사할 때 사용. 겹치는 키가 있으면 뒤의 값으로 입력됨.

2020 11 05

오늘 배운 것

  • arguments 는 함수 내 선언할 수 있는 객체다.
  • CSS Selector
    • 태그 + p { } : 태그와 인접한 형제 엘리먼트 p 선택
    • 태그 ~ p { } : 태그와 인접한 형제 엘리먼트 p 모두 선택
    • first-child, fist-of-type

2020 11 06

오늘 배운 것

  • flexbox
    • display: flex; → 부모 박스에 입력
    • flex: 1(n) 0 auto(0); → 자식 박스에 입력
      • [grow, shrink, basis ] 중 grow 숫자의 총합 대비 수를 입력하여 비중 조정
      • auto를 0으로 바꾸면 미묘한 불균형이 해소된다.
  • 구분선은 <hr>
  • 태그는 기본적으로 여백이 약간 있다. 아래를 입력해주면 해결. 이외에 아무 것도 입력하지 않았을 때 좌측 상단 맨 끝에서부터 시작.
* {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
}
  • flexbox 수직 정렬 시 flex-direction: column; 부모에 입력

좋은 웹페이지 즐겨찾기