본문 바로가기

Front-End

(55)
타입추론(Type inference) , 타입 명시(Type Annotation) 타입추론 = "타입스크립트가 알아서 해줌"타입명시 = "내가 타입지정함" 타입추론 (Type inference): 타입스크립트가 해당 변수의 타입을 추론하는 방법변수를 선언할 때 타입을 명시하지 않아도 타입스크립트가 할당된 값을 통해 타입을 추론 let num : number = 10; 이렇게 타입을 써줘야하는데, 타입스크립트가 알아서 "아 이건 넘버구나"하고서 추론해주는 거임.그냥 자동으로 파악해주는 게 타입추론임.const num = 10 ; //"10만 올 수 있다."let num = 10; // numberlet으로 선언하면 넘버가 되고,const로 사용하면 "10"이라는 넘버 하나만 된다.다른 것도 마찬가지다.무엇을 변수로 선언했냐에 따라서 타입을 자동으로 추론해준다.일반 변수는 타입추론이 되는..
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"가 된다...
깊은 복사,얕은 복사 이 개념은 객체를 복사할 때 사용되는 개념이다. 얕은복사(Shallow Copy)객체의 최상위 레벨만 복사하고, 중첩된 객체는 복사하지 않고 참조를 공유합니다.즉,복사된 객체 내부의 중첩된 객체들은 원본 객체와 동일한 참조를 가진다. 깊은 복사(Deep Copy)객체와 그 객체에 포함된 모든 중첩된 객체들까지 재귀적으로 복사한다.즉, 복사된 객체는 원본과 다른 메모리 주소를 갖게 된다. 원본이 변할 때얕은 복사 : 값이 원본과 같이 변함깊은 복사 : 원본과 다른 주소값을 갖고 있기에 변하지 않음. let a = [1, 2, 3];//이렇게 변수를 냅다 갖다놔버리면 값을 공유함. (얕은 복사)let b = a;let c = [...a];//이렇게 스프레드 연산자로 배열을 없앴다가 다시 놓아주면,//메모리주..
함수 함수를 생성하는 방법 중에 익히 쓰는 방법이 두가지가 있다.함수 선언식 , 표현식이다. 함수 선언식은 fuction 함수이름 (){} 이런 형태를 갖는다.function add() {} 함수 표현식은 변수를 선언하고 , 값으로 함수를 넣는 것이다.const add = function () {}; 기명함수 : 함수 선언 시 함수 이름을 명시하는 것보통 함수 선언식에서 많이 사용된다.기명함수 : const add = function add(){}function add() {}  익명함수 : 함수이름을 생략하고 선언하는 것보통 함수 표현식에서 많이 사용된다.익명함수 : const add = function () {}; 매개변수(parameter) : 함수 파라미터 구멍에 들어가는 변수다.(소괄호 안에)func..
자료형 , 연산자 자료형,연산자에 대해 배웠다.기본 자료형문자열(String), 숫자(Number), 불린(Boolean), 배열(Array), 객체(Object), 함수(Function), 널(Null), 미정의(Undefined)  참조 자료형배열 객체 함수num = 10e121000000000변수에 지수표기법으로 할당하더라도 , 지수를 10진수를 변환한 10진수의 값으로 본다.     특수자료형(undefined , null)undefinedex) const tvChannel = undefined;nullex) const movieChannel = null;​  undefined는 개발자가 다루지 않고 자바스크립트 엔진이 다루는 값이다.undefined는 값을 할당하고 let numconsole.log(num)원래 ..
조건문 , 반복문 정리 조건문이란, 프로그래머가 명시한 자료형 조건이 참인지 거짓인지에 따라 잘라지는 계산이나 상황을 수행하는 프로그래밍 문법이다. 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..
[유데미x스나이퍼팩토리] 프로젝트 캠프 : Next.js 2기 - 사전직무교육 1주차 후기 목차1.개인적인 소감2.진행과정3.배운 내용 다른 교육과정도 붙었지만 내 선택은 유데미 & 스나이퍼팩토리였다.지인분께서 여기를 나오고 좋았다는 평과 수코딩님이 가르치는 next.js.이 두가지가 나에겐 엄청난 매력으로 다가왔다. 개인적으로 생활코딩,수코딩님의 유튜브를 보며 코딩을 시작했기 때문에강의 퀄리티는 의심치 않았고 생각보다 더 좋아서 놀랐다. 거리가 좀 있어서 피곤하긴 했지만 왕복 2시간은 문제가 안됐다. 첫날은 좀 여유있게 흘러 갔으나 다음날부턴 쉽지 않았다."아 내가 JS에 대해 정말 많이 부족하구나"옆에 있는 동기분들도 대단하신 분들이 너무나 많아이 분들과 함께 수업을 듣는다는게 스스로에게 대견할 정도였다. 나는 이 캠프에 온 걸 정말 잘한 결정이라 생각한다.2. 1주차 진행과정1일차 OT ..
빌트인 생성자 Date(JS) Date는 자바스크립트에서 내장된 객체이며 , 메소드 또는 함수가 아니라 객체생성자(Constructor)다. 객체 생성자는 객체를 생성할 떄 사용되며 , 해당 객체의 인스턴스를 만들어 낸다. 이 객체를 사용하여 날짜와 시간을 다를 수 있다. date는 월만 0부터 시작함. 그래서 5로 쓰면 6월임 이건 한번 하면 끝남. 이건 정해놓은 시간마다 반복실행함.