200730_TIL

oh_ji_0·2020년 7월 30일
1

TIL

목록 보기
4/61

Today I Leared

  • 데이터 타입
  • 문자열
  • 조건문
  • 배열
  • 객체

[데이터 타입]

  • undefined 와 숫자를 더하면 NaN 반환

[문자열]

  • str.split()

[조건문]

@@ 조건문 if 문 사용시, undefined 및 false 가 찍힐 경우를 보다 더 세심하게 고민하는 습관을 들여야겠다는 생각이 들었다. undefined 자체값이 return 된다고 해당 조건문에 해당되는 것이 아닌 true 반환 시 작동된다.

[배열]

  • 대량의 정보를 보관하고 관리하는 법

  • 순서가 있는 값

    값: 요소 (element)

    순서: 인덱스(index)

  • 대괄호 (Square Bracket)

  • 각각의 원소는 쉼표로 구분

  • 값 조회 : 인덱스를 이용해 접근

    arr[1]

    배열의 중첩

    arr[1][0]

  • 배열의 인덱스의 값을 변경하려면

    arr[1] = "값";

  • length

  • typeof 연산자에선 함수와 array 모두 object가 반환

  • console.table()

  • 구조 분해 할당 , Spread operator

    Math.max(...arr)

  • arr.slice(n, -1)

console.log(animals.slice(1, -1));
// expected output: Array ["bison", "camel", "duck", "elephant"]

[배열메소드]

온점을 이용해 관련된 명령

  • arr.isArray()

  • arr.concat() - IMMUTABLE
    merge 값 반환

  • arr.push() - MUTABLE

const count = animals.push('cows');
console.log(count);
// expected output: 4
console.log(animals);
// expected output: Array ["pigs", "goats", "sheep", "cows"]
  • arr.pop() - MUTABLE
const plants = ['broccoli', 'cauliflower', 'cabbage', 'kale', 'tomato'];
console.log(plants.pop());
// expected output: "tomato"
console.log(plants);
// expected output: Array ["broccoli", "cauliflower", "cabbage", "kale"]
  • arr.unshift() - MUTABLE
const array1 = [1, 2, 3];
console.log(array1.unshift(4, 5));
// expected output: 5
console.log(array1);
// expected output: Array [4, 5, 1, 2, 3]
  • arr.shift() - MUTABLE
const array1 = [1, 2, 3];
const firstElement = array1.shift();
console.log(array1);
// expected output: Array [2, 3]
console.log(firstElement);
// expected output: 1

@@ 위 mutable 메소드의 반환값이 다른 것 주의. 대부분 반환값이 메소드 실행 후의 length 를 반환하나, pop()은 삭제시킨 배열 값 자체를 반환.

  • arr.join() - IMMUTABLE

  • arr.indexOf()

    찾는 값이 없을 경우 -1 값을 반환

    대소문자 구분

  • arr.includes()

    IE 브라우저에서 호환되지않음

  • arr.splice() - IMMUTABLE

  • arr.slice() - IMMUTABLE

  • 배열의 불변성. Immutable

    건물 비유 : 건물의 층을 빼는 것과 옆에 똑같이 건물을 세우는 것의 주소의 차이성.

[객체]

  • 객체는 관계성을 갖는 데이터를 관리할 때 유용

    배열로 관리할 때의 떨어지는 가독성을 객체로 관리할 때 보완

  • 객체 선언 및 할당

let obj = {
  key: 'value'
}
  • 객체 조회 법 : Dot notation / Bracket notation

    bracket notation 에서 문자열과 변수명을 헷갈리는 실수 주의

    key 값이 변수 일 경우에는 key값이 변할 때 bracket notation 를 써야한다.

  • delete 키워드

    delete obj.key (키-쌍을 모두 삭제)

  • in 연산자

    key in obj // boolean 반환

  • for .... in문

[객체 메소드]

  • Object.keys()
  • Object.values()

[추가 공부사항]

[Comment]

@@ 오늘은 객체의 늪에 빠진 기분. 오전부터 컨디션이 난조라서 코플릿을 진행하며 문제를 보고도 한 눈에 눈에 들어오지 않았다. 덕분에 문제 해결하려고 배는 더 힘이 들었던 것 같다.

그래도 같이 해주신 페어분이 설명도 적극적으로 해주시고, 이끌어주셔서 감사하게도 객체 문제를 마무리 지을 수 있었다. 정규 학습시간을 마치고 다시 풀어보는데도 많이 헤맸다.

저녁 먹고 진행된 후기 공유회도 참여했다.
앞으로 진행될 코드스테이츠 학습 로드맵과 프로젝트에 대한 앞 기수 분들이 경험한 프로젝트들에 대한 후기, 학습하며 꼭 지켜나가야할 생활 루틴의 중요성에 대해 알아봤다.

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

0개의 댓글

관련 채용 정보