20221019

오민준·2022년 10월 24일
0

JAVASCRIPT

목록 보기
1/3

1. javascript 기초문법

변수 정의
while
for
forin
forof

별찍기 하나 넣어주기

2. 함수

함수 선언식과 표현식이 존재

함수 표현식을 주로 사용한다.

특이한 점
기본 인자(default arguments)
매개변수와 인자의 불일치 허용
전개 구문 = spread stytax - 얕은복사임

화살표 함수 arrow function - 즉시실행함수

3. Array와 Object

(1). Basic Array Method

Method설명
reverse원본 배열의 요소들의 순서를 반대로 정렬
push & pop배열의 가장 뒤에 요소를 추가 또는 제거
unshift & shift배열의 가장 앞에 요소를 추가 또는 제거
includes배열에 특정 값이 존재하는지 판별 후 참/거짓 반환
indexOf배열에 특정 값이 존재하는지 판별 후 인덱스 반환
요소가 없을 경우 -1 반환
join배열의 모든 요소를 구분자를 이용하여 연결
구분자 생략 시 쉼표가 default이다.

(2). Advanced Array method

  • Array Helpler Methods : 배열을 순회하며 특정 로직을 수행하는 method이다.
  • method 호출 시 인자로 callback 함수를 받는 것이 특징이다.
  • callback함수 : 어떤 함수의 내부에서 실행될 목적으로 인자를 넘겨받는 함수
Method설명
forEach배열의 각 요소에 대해 콜백 함수를 한번씩 생성한다. 반환값이 없다.
map콜백 함수의 반환 값을 요소로 하는 새로운 배열을 반환한다.
filter콜백 함수의 반환 값이 참인 요소들만 모아서 새로운 배열을 반환한다.
reduce콜백 함수의 반환 값들을 하나의 값(acc)에 누적 후 반환한다.
find콜백 함수의 반환 값이 참이면 해당 요소를 반환한다.
some배열의 요소 중 하나라도 판별 함수를 통과하면 참을 반환한다.
every배열의 모든 요소가 판별 함수를 통과하면 참을 반환한다.

① forEach

const colors = ['red', 'blue', 'green']

colors.forEach((element) => {
  console.log(element)
})

// red
// blue
// green

// enumulate로도 사용 가능
colors.forEach((index, element) => {
  console.log(index, element)
})

// red 0
// blue 1
// green 2

② map

const numbers = [1, 2, 3]

const doubleNumbers = numbers.map((element) => {
  return element * 2
})

console.log(doubleNumbers)

③ filter

const products = [
  { name : 'cucumber', type: "vegetable"},
  { name : 'banana', type: "fruit"},
  { name : 'carrot', type: "vegetable"},
  { name : 'apple', type: "fruit"},
]

const fruitFilter = function (product) {
  return product.type == 'fruit'
}

const fruit = products.filter(fruitFilter)

console.log(fruit)

④ reduce

const tests = [90, 90, 80, 77]

// const sum = tests.reduce(function (total, x) {
//   return total + x
// })

const sum = tests.reduce((acc, element) => {
  return acc + element
})

console.log(sum)

const avg = tests.reduce((acc, element) => {
  return acc + element
}) / tests.length

console.log(avg)

⑤ find

const avengers = [
  { name: 'Tony Stark', age: 45},
  { name: 'Steve Rogers', age: 32},
  { name: 'Thor', age: 40}
]

const avenger = avengers.find((element) => {
  return element.name === 'Tony Stark'
})

console.log(avenger)

⑥ some

const arr = [1, 2, 3, 4, 5]

const result = arr.some((element) => {
  return element % 2 === 0
})

console.log(result)

⑦ every

const arr = [1, 2, 3, 4, 5]

const result = arr.every((element) => {
  return element % 2 === 0
})

console.log(result)

(3). Object

  • 객체는 속성의 집합이며, 중괄호 내부에 key와 value의 쌍으로 표현한다. (딕셔너리와 거의 같다.)

① 속성명 축약
② 메서드명 축약
③ 계산된 속성명 사용하기
④ 구조 분해 할당(destructing assignment)
⑤ 객체 전개 구문(spread operator)

profile
ChatGPT-Driven Development를 지양합니다.

0개의 댓글