전체 글
-
모던 자바스크립트 (스터디) 15장[let,const 키워드와 블록 레벨 스코프]카테고리 없음 2023. 8. 7. 00:42
var키워드로 선언한 변수의 문제점 변수 중복 선언 허용 var x = 1; var y = 1; // var 키워드로 선언된 변수는 같은 스코프 내에서 중복 선언을 허용한다. // 초기화문이 있는 변수 선언문은 자바스크립트 엔진에 의해 var 키워드가 없는 것처럼 동작한다. var x = 100; // 초기화문이 없는 변수 선언문은 무시된다. var y; console.log(x); // 100 console.log(y); // 1 x변수와 y변수는 중복 선언되었다. 이처럼 중복선언하면 초기화문 유무에 따라 다르게 동작한다. 초기화문이 있는 변수 선언문은 자바스크립트 엔진에 의해 var키워드가 없는 것처럼 동작하고 초기화문이 없는 변수 선언문은 무시된다. 중복 선언으로 값을 할당한다면 의도치 않게 먼저 ..
-
모던 자바스크립트 (스터디) 14장[전역변수]카테고리 없음 2023. 8. 6. 01:13
변수의 생명주기 변수는 선언에 의해 생성되고 할당을 통해 값을 갖는다. 그리고 언젠가 소멸한다. 변수에도 생성되고 소멸되는 생명 주기가 있다. 변수에 생명 주기가 없다면 한번 선언된 변수는 프로그램을 종료하지 않는 한 영원히 메모리 공간을 점유하게 된다. 전역 변수의 생명 주기는 애플리케이션의 생명 주기와 같다. 하지만 함수 내부에서 선언된 지역 변수는 함수가 호출되면 생성되고 함수가 종료하면 소멸한다. 변수 선언은 선언문이 어디에 있든 상관없이 가장 먼저 실행된다. 변수 선언은 코드가 한 줄씩 순차적으로 실행되는 시점인 런타임에 실행되는 것이 아니라 런타임 이전 단계에서 자바스크립트 엔진에 의해먼저 실행된다. 다만 위 설명은 전역 변수에 한정된 것이다. 함수 내부에서 선언한 변수는 함수가 호출된 직후에..
-
모던 자바스크립트 (스터디) 13장[스코프]카테고리 없음 2023. 8. 5. 22:23
스코프란? 자바스크립트를 포함한 모든 프로그래밍 언어의 기본적 중요한 개념이다. 자바스크립트의 스코프는 다른 언어의 스코프와 구별되는 특징이 있으므로 주의가 필요하다. 변수는 자신이 선언된 위치에 의해 자신이 유효한 범위, 즉 다른 코드가 변수 자신을 참조할 수 있는 범위가 결정된다. 모든 식별자는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위가 결정된다. 이를 스코프라 한다. 스코프는 식별자가 유효한 범위를 말한다. var x = 'global'; function foo() { var x = 'local'; console.log(x); // ① } foo(); console.log(x); // ② 자바스크립트 엔진은 이름이 같은 두 개의 변수 중에서 어떤 변수를 참조해..
-
모던 자바스크립트 (스터디) 12.5 ~장[함수]카테고리 없음 2023. 7. 30. 22:26
함수 호출 함수는 함수를 가리키는 식별자와 한 쌍의 소괄호인 함수 호출 연산자로 호출한다. 함수 호출 연산자 내에는 0개 이상의 인수를 쉼표로 구부해서 나열한다. 이때매개변수에 인수가순서대로 할당되고 함수몸체의문들이 실행되기 시작한다. 매개변수와 인수 함수를 실행하기 위해 필요한 값을 함수 외부에서 내부로 전달할 필요가 있는 경우, 매개변수(인자)를 통해 인수를 전달한다. 인수는 값으로 평가될 수있는 표현식이여야 하며 함수를 호출할때 지정하고 개수와 타입에 제한이 없다. 매개변수는 함수를 정의할때 선언되며 함수 몸체 내부에서 변수와 동일하게 취급된다.변수와 마찬가지로 undefined로 초기화된 이후 인수가 순서대로 할당된다. 매개변수는 함수 몸체 내부에서만 참조 가능하고 외부에서는 참조할 수 없다. 함..
-
Cookie에 모든 것카테고리 없음 2023. 7. 27. 21:21
HTTP 쿠키란? HTTP 쿠키란 하이퍼 텍스트의 기록서의 일종으로서 인터넷 사용자가 어떠한 웹사이트를 방문할 경우 사용자의 웹 브라우저를 통해 인터넷 사용자의 컴퓨터나 다른 기기에 설치되는 작은 기록 정보 파일을 일컫는다. 쿠키, 웹 쿠키, 브라우저 쿠키라고도 한다. - 위키백과 쿠키(Cookie)는 웹 사이트가 사용자의 웹 브라우저에 저장하는 작은 데이터 조각으로, 사용자가 해당 웹 사이트를 방문할 때 웹 서버로부터 전송된다. 쿠키는 주로 세션 관리, 개인화, 사용자 행동 추적 등 다양한 목적으로 사용된다. 쿠키는 브라우저의 로컬 저장소에 저장되며, 사용자의 개인 정보를 저장하는 것이 아닌 간단한 텍스트 데이터이다. 예를 들어 내가 들어간 카페에 '손님 출입부'가 있다고 가정을 해봤을 때, 카페에서 ..
-
타입스크립트(ZeroCho) 기본문법카테고리 없음 2023. 7. 27. 18:23
타입 추론 ts자체에서 추론해주는 타입이 있으면 그냥 그대로 사용하면 된다. ts의 추론이 틀렸거나! any로 타입을 지정했을때,ts가 추론하지 못하는 경우에만 집접 타이핑이 필요하다. 이유는 타입이 '5'라고 정확하게 되어있는데 const a는 '5'를 변경할 수 가 없는데 만약 const a: string = '5' 이렇게 string으로 지정을 해버리면 '5'라는 정확한 타입에서 string이라는 명확하지 못한 애매한 타입이 되어버린다. 이런식으로 함수도 타입추론을 해주는데 리턴값을 없애도 result의 타입은 number로 나온다. 다만 매개변수의 타입을 적어주지 않으면 타입추론이 any로 나오기 때문에 매개변수에는 꼭 타입을 지정해줘야 한다. 배열도 타입추론이 가능하다. 다만 저렇게 파이프가 있..
-
타입스크립트(ZeroCho) 기본 세팅 및 기초!카테고리 없음 2023. 7. 26. 23:37
기본지식 TypeScript는 최종적으로 JavaScript로 변환된다. 타입스크립트는 언어이자 컴파일러(tsc)이다. 컴파일러는 ts 코드를 js로 바꿔준다. tsc는 tsconfig.json으로 자바스크립트로 변환을 해주고 원하는 버전에 맞춰서 할 수 있으며 특정 브라우저를 제외 및 추가 시킬 수도 있다. tsc는 타입 검사를 한다. (타입스크립트에서 타입 에러가 나도 js로 변환이 된다. 다만, 타입에러가 하나라도 나면 실행시키면 안된다.) let a = 'hello' a = 123 // Type 'number' is not assignable to type 'string'. ts 파일을 실행하는게 아니라 결과물인 js를 실행해야 한다. Playground에서는 타입 검사를 자동으로 해주지만 프로..
-
원티드 프리온보딩 프론트엔드 챌린지 사전미션 [최적화]카테고리 없음 2023. 7. 26. 19:43
CDN(Content Distributed Network)에 대해 설명해주세요 데이터 사용량이 많은 애플리케이션의 웹 페이지 로드 속도를 높이는 상호 연결된 서버 네트워크이다. 사용자는 웹 사이트를 방문할 때 해당 웹 사이트 서버의 데이터가 인터넷을 통해 사용자의 컴퓨터에 도달하게 된다. 이때 사용자가 해당 서버에서 멀리 떨어져 있는 경우 동영상이나 이미지와 같은 대용량 파일을 로드할 때 많은 시간이 걸리게 된다. 반면 사용자와 가까운 거리에 있는 CDN 서버에 웹 사이트 콘텐츠를 저장해놓으면 사용자는 훨씬 빠른 속도로 콘텐츠를 로드할 수 있다. 즉, CDN은 콘텐츠 전송 시간을 줄여주는 네트워크이다. CDN의 목적은 지연 시간을 줄이는 것이다. 지연 시간이란 웹 페이지 혹은 비디오 스트리밍 콘텐츠 등이..