- 데이터 타입
- 문자열
- 조건문
- 배열
- 객체
@@ 조건문 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"]
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"]
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]
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문
[객체 메소드]
[추가 공부사항]
정규표현식
@@ 오늘은 객체의 늪에 빠진 기분. 오전부터 컨디션이 난조라서 코플릿을 진행하며 문제를 보고도 한 눈에 눈에 들어오지 않았다. 덕분에 문제 해결하려고 배는 더 힘이 들었던 것 같다.
그래도 같이 해주신 페어분이 설명도 적극적으로 해주시고, 이끌어주셔서 감사하게도 객체 문제를 마무리 지을 수 있었다. 정규 학습시간을 마치고 다시 풀어보는데도 많이 헤맸다.
저녁 먹고 진행된 후기 공유회도 참여했다.
앞으로 진행될 코드스테이츠 학습 로드맵과 프로젝트에 대한 앞 기수 분들이 경험한 프로젝트들에 대한 후기, 학습하며 꼭 지켜나가야할 생활 루틴의 중요성에 대해 알아봤다.