230206 / 복습 긴가민가

신동윤·2023년 2월 6일
0

Object (객체)

{ key1: value, key2: value } 의 형태로 표현하며, value에는 모든 자료형의 값을 담을 수 있습니다.
다른 언어에서는 이와 같은 자료형을 Dictionary(딕셔너리)로 부르기도 하지만 JS에서의 공식 명칭은 Object입니다.
key를 기준으로 객체에 있는 value(값)에 접근할 수 있습니다.
객체의 key에 접근하는 방법은 두가지 표현이 존재합니다.
obj.key , obj['key']

객체 구조 분해 할당 짚고 넘어가기!

ES6에서 새롭게 도입한 문법이며 객체(Object) 나 배열(List)을 변수로 ‘분해'할 수 있습니다.
객체를 분해할 때에는 반드시 변수명과 객체의 프로퍼티 이름이 일치해야 합니다.
프로퍼티의 이름이 유효한 식별자인 프로퍼티만 분해 후 할당됩니다.

const obj = { name: "이용우", age: 28, tech: "Node.js" };

const { name, age, tech, hair } = obj;
console.log(name); // 이용우
console.log(age); // 28
console.log(tech); // Node.js
console.log(hair); // undefined: obj에는 "hair" 프로퍼티가 존재하지 않습니다.
const arr = ["Node.js", "React", "Spring"];

const [backEnd, frontEnd] = arr;
console.log(backEnd); // Node.js
console.log(frontEnd); // React

NaN

Not a Number의 줄임말이며, Number 자료형에 속하지만 중요하므로 따로 짚고 넘어갑니다!
숫자가 아닌 값을 숫자로 변환하는 경우 NaN으로 반환됩니다.

❓ 그렇다면 NaN는 어떻게 판별할까요?
NaN은 다른 모든 값과 비교했을 때 같지 않으며, 다른 NaN과도 같지 않습니다.
NaN의 판별은 Number.isNaN() 또는 isNaN()을 이용하면 제일 분명하게 판별할 수 있습니다.
isNaN()은 현재 값이 NaN이거나, 숫자로 변환했을 때 NaN이 될 경우 true를 반환합니다.
Number.isNaN()은 현재 값이 NaN이어야만 true를 반환합니다.

for...of 문

Array, Map과 같은 반복 가능한(Iterable) 객체의 value(요소)를 하나씩 반복할 수 있게 해줍니다.
(Object는 반복 가능한 객체에 해당하지 않습니다!)
지금은 배열을 하나씩 반복해주는 문법이라고 생각해도 괜찮습니다.

for...in 문

for...of 문과 유사하게 객체의 요소를 반복해주지만, 선언한 변수에 값이 직접 들어가지 않고 요소의 key를 전달합니다.
for...of 문처럼 반복 가능한(Iterable) 객체는 모두 사용할 수 있습니다.

const persons = ['강승현', '홍길동', '김아무개'];

for (const index in persons) {
  const person = persons[index];
	console.log(person);
}

// Print: '강승현'
// '홍길동'
// '김아무개'

map()

배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환합니다.

const array1= [1,4,9,16];

//map 사용
const map1 = array1.map(x=>x*2);

//함수가 적용된 결과로 새로운 배열을 반환합니다.

console.log(map1); //[2, 8, 18, 32]

filter()

주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환합니다.

const fruits= ['사과', '귤', '배', '감', '바나나', '키위'];

//filter 사용
const result = fruits.filter(fruit => fruit.length > 2);

//함수가 적용된 결과로 새로운 배열을 반환합니다.
console.log(result); //['바나나']

비동기 함수 (Async Function)

특징
비동기 함수는 일반 함수나 화살표 함수와 아주 비슷하지만 딱 두가지만 다릅니다.
비동기 함수의 결과 값은 항상 Promise 객체로 resolve된다.
비동기 함수 안에서만 await 연산자를 사용할 수 있다. (바로 아래에서 배웁니다!)
이 두가지 특징을 제외하면 기존처럼 일반 함수나, 화살표 함수처럼 사용할 수 있습니다

0개의 댓글