본문 바로가기

자바스크립트4

class , 생성자 함수 , 프로토타입 메서드 사실 class는 두개 담은 바구니다.생성자 함수 = 변수만드는 함수(constructor) +프로토타입 메서드 = 만든 변수 가지고 할 함수(protoype method)  생성자함수 : 자바스크립트에서 객체를 만들고 초기화하는 특별한 함수다.생성자함수는 일종의 템플릿으로 , 여러개의 유사한 객체를 쉽게 만들 수 있게 해준다.즉 , "변수집합을 만드는 함수"인 것이다. 생성자 함수 사용법 1 1.대문자로 시작하는 이름 (파스칼케이스)생성자 함수의 이름은 보통 대문자로 시작한다. 2.this 키워드 사용생성자 함수 안에서 'this'라는 키워드는 개로 생성된 객체를 가르킨다. 3.new 키워드와 함께 사용생성자 함수는 'new'키워드와 함께 호출되어야 한다.'new' 키워드를 사용하면 새로운 객체가 생성.. 2024. 7. 19.
Closer 클로저 : 실행 컨텍스트가 정상적으로 제거(종료)되지 못하는 현상 function outerFunc() { let count = 0; return function innerFunc() { count++; console.log(count); };}const counter = outerFunc();counter();counter();counter();counter();결과 :1,2,3,4  실행할 때마다 1씩 증가한다.원래 자신의 차례가 끝나면 , 콜스택에서 본인은 제거되어야 한다.근데 innerFunc 시점으로 보면, "outerFunc이 자신의 값을 참조하네?"내 값 참조 안하면 버그가 되는데? => 그럼 나 못사라지는데? => 값이 메모리에 남아야겠다.이 현상이 "closer"가 된다... 2024. 7. 19.
깊은 복사,얕은 복사 이 개념은 객체를 복사할 때 사용되는 개념이다. 얕은복사(Shallow Copy)객체의 최상위 레벨만 복사하고, 중첩된 객체는 복사하지 않고 참조를 공유합니다.즉,복사된 객체 내부의 중첩된 객체들은 원본 객체와 동일한 참조를 가진다. 깊은 복사(Deep Copy)객체와 그 객체에 포함된 모든 중첩된 객체들까지 재귀적으로 복사한다.즉, 복사된 객체는 원본과 다른 메모리 주소를 갖게 된다. 원본이 변할 때얕은 복사 : 값이 원본과 같이 변함깊은 복사 : 원본과 다른 주소값을 갖고 있기에 변하지 않음. let a = [1, 2, 3];//이렇게 변수를 냅다 갖다놔버리면 값을 공유함. (얕은 복사)let b = a;let c = [...a];//이렇게 스프레드 연산자로 배열을 없앴다가 다시 놓아주면,//메모리주.. 2024. 7. 19.
조건문 , 반복문 정리 조건문이란, 프로그래머가 명시한 자료형 조건이 참인지 거짓인지에 따라 잘라지는 계산이나 상황을 수행하는 프로그래밍 문법이다. if문if문은 else,eles if문으로 세분화 된다. if문if는 만약~라면으로 해석하면 이해하기 쉽다.소괄호는 논리형 데이터가 참일 경우 블록 {}안의 코드를 실행한다. if문이 한줄이면 , 중괄호를 생략할 수 있다. 표현값에 논리에 따라서 사용하고 싶을 때 쓰는 게 if문이다.function testScore() { score = 59; if (score >= 90) { return "A"; } else if (score >= 80) { return "B"; } else if (score >= 70) { return "C"; } else if (score >= 60) { r.. 2024. 7. 16.