Developer Note/국비과정 수업내용 정리&저장

24년 09월 02일

DH_PARK 2024. 9. 2. 23:56

오전

javascript 배열

우선 자바스크립트 배열은 한 배열안에 여러 종류의 자료형을 같이 쓸 수 있다.

arr = [1,2,3,'대해',123123.12414,'ㅂㅇ']

그리고 java에서는 배열에서 없는 인덱스 값을 입력하면 오류가 나는데 js는 지정 인덱스에 값이 없다면 그 값을 새로 생성한다.

const arr = [1,2,3]
console.log(arr[2]) //가능
arr[5] = 'a'  //5번 째 인덱스에 'a' 값이 생성됨
//그러나 그 사이에 값은 undefined로 지정됨

이를 “동적 처리” 라고 함.


콜백함수란? :

다른 함수가 실행을 끝낸 뒤 실행되는 callback되는 함수 를 말한다. 그리고, 함수를 만들때, parameter 를 함수로 받아서 쓸 수 있는데 그 함수를 “콜백 함수” 라고 한다.

// 간단히 말해서 반복문이나 함수 안에서 실행이 되는 함수들을 보고 콜백함수라고 이해하면 된다 !

  • arr.push() = 마지막에 추가
  • arr.pop() = 마지막에 제거

arr.sort() : 배열 오름차순 정렬

const arr = [2, 1, 3, 10];

arr.sort(function(a, b)  {
  return b - a;
});
document.writeln(arr + '<br>'); // [10, 3, 2, 1]
// sort 내림차순 정렬

 


forEach() :

배열을 순회하는 함수이긴 한데 for 문과는 비슷하면서 약간 다름.

리턴 값이 따로 없음.

고로 , 각 요소를 순회하며 해당 요소에 대해 어떤 동작을 수행하려고 할 때 사용하기 적합함.

매개변수와 함께 배열의 각 요소에 적용하게 될 콜백 함수를 전달함.

  • Current Value (명명된 매개변수) - 처리할 현재 요소
  • Index (선택적 매개변수) - 처리할 현재 요소의 인덱스
  • Array (선택적 매개변수) - forEach 메서드를 호출한 배열

reduce() :

줄이다 라는 뜻으로 , 배열의 요소를 순회하며 하나의 값으로 줄여 return 하는 함수.

arr.reduce(callback(accumulator, currentValue, index, array), initialValue);
// 배열.reduce(callback(누적값, 현재값, 인덱스, 요소), 초기값);

reduce() 는 무조건 return값 있어야 함

filter() :

배열의 요소를 순회하면서 콜백 함수를 사용하여 원하는 조건에 따라 필터링하는 함수

필터링된 배열을 반환합니다.

map() :

배열의 요소들의 값을 변경해서 새로운 배열을 만들 때 사용하는 함수.

let arr = [3, 4, 5, 6];

let modifiedArr = arr.map(function(element){
    return element *3;
});
// 여기서 element 는 콜백함수이기 때문에 function으로 감싼다.
console.log(modifiedArr); // [9, 12, 15, 18]

상속

call() : 간단히 말해서 this를 대체하는 함수

prototype:

javacript 는 프로토타입 기반 언어라고 한다. (java는 class 기반 언어)

연산자

다른건 다 java 연산자와 비슷하다.

약간의 차이가 있는데,

== 와 ===의 차이. (java에서는 ===가 없다 !)

  • == : 느슨한 동등 연산자 : 값만 비교함. 타입이 다르면 같은 타입으로 변환해서 비교한다.
  • === : 엄격한 동등 연산자 : 값과 타입을 모두 비교한다.

타입이 다르면 무조건 false

뭐 다르긴한데 일단 이해하는데는 class랑 prototype이랑 비슷한거라고 생각하자.


 

'Developer Note > 국비과정 수업내용 정리&저장' 카테고리의 다른 글

24년 09월 04일  (0) 2024.09.05
24년 09월 03일  (0) 2024.09.05
24년 08월 30일  (2) 2024.09.01
24년 08월 29일  (1) 2024.09.01
24년 08월 28일  (0) 2024.08.29