[230404] Array | Object | 함수

윤지수·2023년 4월 4일
0
post-thumbnail

🪄 객체타입

특징

  • 객체는 프로퍼티와 메서드를 가지며, 이 둘은 각각 객체의 상태와 동작을 나타낸다
  • 값을 변수에 저장할 때 값 자체가 아닌 값의 위치가 저장된다. 때문에 객체 값을 다른 변수에 할당 할때는 값 자체가 복사되어 저장되는 것이 아닌 값의 참조(위치)가 저장된다.
  • 숫자로 들어간 값은 대괄호로만 호출할 수 있고 문자로 입력된 값은 .을 찍어서도 호출할 수 있다
arr.1;	// error
obj.1;	// error	// 그래서 arr.1도 안되는 것
arr[1];
obj[1];
obj["1"];
arr.length;
arr["length"];
  • 프로퍼티를 추가하는 것도 가능하다
arr["yoonmallang"] = 100;
arr.mallang = 1000;
obj.job = "student";

🪄 Array

배열의 특징

  • 배열은 순서가 있다. 배열의 순서를 index, 이 순서로 호출하는 것을 indexing이라고 한다. 배열 안의 값은 원소(elements)라고 한다.
  • 배열에 다른 원시타입과 객체타입을 포함할 수 있다
    ➕ 0차원, 1차원, 2차원, 3차원, 다차원
const a = 10; // 스칼라
const b = [10, 20, 30]; // 벡터
const c = [
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9],
]; // 매트릭스
const d = [
  [[1, 2], [1, 2], [1, 2],],
  [[1, 2], [1, 2], [1, 2],],
  [[1, 2], [1, 2], [1, 2],],
]; // 텐서(3차원 이상의 다차원)

배열 메소드

  • push()
  • pop()
  • unshift()
  • shift()
  • flat()
    flat(Infinity) : 다 펼쳐지면 스톱한다
  • splice()
  • slice()
    새로운 배열을 반환한다
  • forEach()
    💡 NodeList에서 forEach와 Array에서 forEach는 다르다. NodeList에서 forEach는 익스플로러를 지원하지 않는다
  • map()
    forEach 메소드와 달리 새로운 배열을 반환한다
  • filter()
  • reduce()
    언제나 초기값을 전달하는 것이 안전하다
  • includes()
  • join()
  • sort()

🪄 Object

객체의 특징

  • key:value 쌍으로 이루어져 있다
  • 객체에서 속성을 삭제하려면 delete 키워드를 사용한다
  • in 연산자를 이용해 특정 프로퍼티가 객체 안에 존재하는지 알 수 있다
console.log(20 in [10, 20, 30, 40]); 		// false
console.log("length" in [10, 20, 30, 40]);	// true

객체 메소드

  • hasOwnProperty()
  • Object.keys()
  • Object.values()
  • Object.entries()

🪄 함수

function 함수이름(parameter1, parameter2...) { // 함수의 선언
    // 실행코드...
    return 반환값
}

함수이름(argument1, argument2...) // 함수의 호출

함수를 사용하는 이유

  • 재사용성이 높아진다
  • 유지보수가 용이하다
  • 구조파악이 용이하다

console.log()와 return

  • console.log 함수는 콘솔 창에 표시되는 단순 출력이다
  • return은 해당 함수가 실행되면 반환되는 값을 전달한다
  • 함수 내부에서 return 구문을 만나게 되면 해당 함수는 종료된다

아규먼트에 따른 반환값

  • 함수에 전달되는 아규먼트는 매개변수보다 적거나 많아도 에러가 발생하지 않는다
  • roro 기법
function runPython({ user, time, code, lv }) {}
runPython({
  user: "yoonmallang",
  time: 100,
  code: "function...",
  lv: 3,
});

함수 선언 방법

  • 함수 선언문
function sum(x, y){
  return x + y;
}
  • 함수 표현식
let sum = function(x, y){
  return x + y;
};
  • 화살표 함수
let sum = (x, y) => x + y
  • 즉시 실행 함수
(function() {
  console.log('이 함수는 만들어지자마자 바로 실행됩니다!');
})();

콜백 함수

function sum(x, y){
  return x + y;
}

function 함수(a, b, c) {
  let z = c(a, b) + c(a, b);
  return z * 2;
}

함수(7, 3, sum);

0개의 댓글