js 기초

강쥐사랑하는사람·2022년 11월 11일
0

함수

  • 메소드(메서드) : 객체 프로퍼티 값이 함수
    ex) dog.bow();: dog 객체 안에 있는 bow 함수

  • 익명함수를 변수에 담아서 사용하는 방식

const a = function() {} 
  • arguments(인수): 매개변수 없이 사용 가능한 객체
// 인수가 많을 때
function sum() {
  console.log(arguments);
}

sum(1, 3); // arguments(2) ...
  • 화살표함수에서 객체를 만들 때? ({ 반환할 객체 })

  • IIFE(즉시실행함수): 함수를 만들자마자 바로 실행

// 사용 시 이전 로직에 ;을 붙여 구분해준다
 (function() {
 	console.log(a * 2)
 })();

(function() {
   console.log(a * 2)
}());
  • 콜백: 인수(arguments)로 사용되는 함수,
    특정한 실행위치를 보장해준다.(비동기를 동기처럼)
    ex) sum(func, 1) 에서 func

  • 인스턴스: 생성자함수의 구조로 만들어진 객체 (new로 생성됨)

  • this: 일반함수 - 호출위치에 따라 다름 / 화살표함수-선언된 함수 범위

데이터

불변성

  • 바라보고 있는 메모리 주소에 주목하기
  • 원시형: String, Number, Boolean, undefined, null
    ㄴ 생긴 것이 같으면 같다, 불변성 O
  • 참조형: Object, Array, Function
    ㄴ 생긴 것이 같아도 서로 같은 데이터가 아닐 수 있음, 불변성 X

복사

  • 얕은 복사: 할당, 스프레드 ...
    ㄴ 주소 값을 참조하는 것, 표면만 복사함
  • 깊은 복사: lodash 패키지 이용
    ㄴ 데이터 내부를 전부 copy
profile
목표가 있는 사람

0개의 댓글