전체 글
-
230220 30분 TIL하루 30분 TIL 2023. 2. 19. 20:16
1. AJAX 전통적인 웹모델에서는 변경할 필요가 없는 부분까지 완전한 HTML을 매번 서버로 부터 받기 때문에 불필요한 통신 및 비효율 발생 또한 서버와의 통신이 동기적이기 때문에 응답이 있을 때까지 블로킹 처리됨 이러한 단점을 보완하기 위해 나온 Asynchronous Javascript And XML 서버와 비동기적으로 데이터를 주고 받는 자바스크립트 기술 (여기서 XML은 JSON이 나오기 전 사용했던 데이터를 주고 받을때 쓰는 데이터 형식) 브라우저가 가지고 있는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 고치치 않고 페이지 일부 만을 위한 데이터 로드기법 참고자료: Ajax, JSON, XMLHttpRequest 2. OOP(객체지향 프로그래밍) 프로그래밍하려는 대상을 하나..
-
230219 30분 TIL하루 30분 TIL 2023. 2. 19. 14:34
1. Prototype 자바스크립트는 프로토 타입 기반 언어이다. 클래스라는 개념이 없기 때문에 프로토타입으로 상속을 흉내내도록 구현해서 사용(ES6에서 클래스 문법이 추가됐지만 클래스 기반으로 바뀐것은 아님) function Person() { this.eyes = 2; this.nose = 1; } var kim = new Person(); var park = new Person(); console.log(kim.eyes); // => 2 console.log(kim.nose); // => 1 console.log(park.eyes); // => 2 console.log(park.nose); // => 1 kim과 park은 eyes와 nose를 공통적으로 가지는데 메모리에는 eyes와 noserk ..
-
230218 30분 TIL하루 30분 TIL 2023. 2. 18. 15:19
블록 스코프 블록스코프는 중괄호{} 로 감싸진 범위를 말합니다.(if, for, function) 함수 스코프 함수 스코프는 블록 스코프 중 함수의 범위를 갖는 스코프입니다. 호이스팅 호이스팅은 선언문을 유효범위의 최상단으로 끌어올리는 행위 라고 할 수 있습니다. var의 특징 함수 스코프 위 특징으로 for문이나 if문안에서 변수 선언 했어도 전역 변수로 사용 가능 이것을 막기 위해 es6 부터 let const 나옴 변수 재선언 가능 선언과 초기화가 동시에 이루어짐 let, const 블록스코프 변수 재선언 불가능 let은 재할당 가능, const는 재할당 불가능 let과 const도 호이스팅이 일어나지만 var과 달리 블록 스코프로 호이스팅 됨 이때 값을 초기화하기 전에 변수는 tdz(tempora..
-
230217 30분 TIL하루 30분 TIL 2023. 2. 17. 23:21
1. 이터러블(iterable) 이터러블이란 자료를 반복할 수 있는 객체를 말하는 것이다. 우리가 흔히 쓰는 배열 역시 이터러블 객체이다 . iterable 정의 : 이터레이터를 리턴하는 [Symbol.iterator]() 메서드를 가진 객체 배열의 경우 Array.prototype 의 Symbol.iterator 를 상속받기 때문에 이터러블이다. 문자열도 마찬가지 iterator 정의 : {value : 값 , done : true/false} 형태의 이터레이터 객체를 리턴하는 next() 메서드를 가진 객체. next 메서드로 순환 할 수 있는 객체다. [Symbol.iterator]() 안에 정의 되어있다. 2. 제너레이터 ES6에 도입된 제너레이터 함수는 이터러블 함수를 생성하는 함수 이를 사용하..
-
230216 30분 TIL하루 30분 TIL 2023. 2. 16. 21:32
1. GET과 POST 차이 Get 방식 - 클라이언트에서 서버로 데이터를 전달할 때, 주소 뒤에 "이름"과 "값"이 결합된 스트링 형태로 전달 - 주소창에 쿼리 스트링이 그대로 보여지기 때문에 보안성이 떨어진다. - 길이에 제한이 있다.(=전송 데이터의 한계가 있다.) - Post방식보다 상대적으로 전송 속도가 빠르다. Post 방식 - 일정 크기 이상의 데이터를 보내야 할 때 사용한다. - 서버로 보내기 전에 인코딩하고, 전송 후 서버에서는 다시 디코딩 작업을 한다. - 주소창에 전송하는 데이터의 정보가 노출되지 않아 Get방식에 비해 보안성이 높다. - Get방식보다 속도가 느리다. - 쿼리스트링(문자열) 데이터 뿐만 아니라, 라디오 버튼, 텍스트 박스 같은 객체들의 값도 전송가능.' Get과 Po..
-
230215 30분 TIL하루 30분 TIL 2023. 2. 15. 12:48
가비지 콜렉터란? 애플리케이션이 할당한 메모리 공간을 주기적으로 검사하여 더 이상 사용되고 있지 않는 메모리를 해제하는 기능을 말한다. 자바스크립트는 가비지 콜렉터를 내장하고 있는 매니지드 언어로서 가비지 콜렉터를 통해 메모리 누수를 방지한다. 자바스크립트 데이터 타입(자료형) 자바스크립트는 7개의 데이터 타입을 제공한다. 데이터 타입은 원시타입(primitive type)과 객체타입(reference type)으로 분류할 수 있다. 1. 원시 타입 숫자(number) 문자열(string) 불리언(boolean) undefined null symbol : 변경 불가능한 원시타입의 값, 다른 값과 중복되지 않는 유일무이한 값 ⇒ 충돌 위험이 없는 객체에 유일한 프로퍼티 키를 만들기 위해 사용한다. 2. 객..
-
230214 30분 TIL하루 30분 TIL 2023. 2. 14. 22:56
1. This 자바스크립트는 호출될 때 결정되는 것이 있고 선언할 때 결정되는 것이 있는데 this는 호출될 때 결정된다. 자바스크립트에서 함수의 this 키워드는 다른 언어들과 비교하여 조금 다르게 동작한다. 대부분의 경우 this의 값은 함수를 호출하는 방법에 의해 결정된다. 자바스크립트의 this === 호출한 놈(객체), 누가 실행했냐 ES5는 함수의 this 값이 어떻게 호출되었는지 개의치 않고 설정할 수 있는 bind 메소드를 제공했다. 화살표 함수에서의 this는 함수가 속해 있는 곳의 상위 this를 계승 받는다.
-
230209 30분 TIL하루 30분 TIL 2023. 2. 10. 00:43
1. 브라우저 렌더링 시 script태그를 만날때마다 파싱이 중단되는 문제는 script 태그 뒤에 async 혹은 defer를 붙여줌으로써 해결할 수 있다. async: HTML 파싱, JS 파일 로드가 동시에 진행 defer: DOM 생성이 완료된 직후, JS의 파싱과 실행이 진행된다. 2. 호이스팅이란 모든 선언이 코드의 선두로 끌어 올려진 것처럼 동작하는 자바스크립트 고유의 특징. 호이스팅 시 변수의 선언과 초기화(undefined)으로 같이 시켜버린다. var를 쓸 때 함수만 지역변수로 사용하고 모두 전역변수로 올려버림(예시 반복문 i) var를 쓰면 재선언도 가능하는 문제가 있다. var a = 1; var a = 2; let도 호이스팅이 되지만 TDZ(TemporallyDeadZone)에 있..