01 변수 , 변수 선언의 실행 시점과 변수 호이스팅https://github.com/kyungchan3007/JavaScript/blob/develop/Class01.js
스코프(유효범위) 는 자바스크립트를 포함한 모든 프로그래밍 언어의 기본적이며 중요한 개념이다. 스코프의 이해가 부족하면 다른 개념을 이해하기 어려울수도있다.자바스크립트는 var 키워드로 선어한 변수와 let 또는 const 키워드로 선언한 변수의 스코프도 다르게 동작한
연산자는 하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리 타입 지수 연산등을 수행해 하나의 값을 만든다. 이때 여산의 대상을 피연산자라 한다. 피연사는 값으로 평가될수 있는 표현식이어야 한다.그리고 피연산자와 연사낮의 조합으로 이뤄진 연산자 표현식도 값으로 평
제어문은 조건에 따라 코드블록을 실행(조건문)하거나 반복 실행(반복문) 할때 사용한다. 일 반적으로는 코드는 위에서 아래 방향으로 순차적으로 실행된다. 제어문을 사용하면 코드의 실행 흐름을 인위적으로 제어할수 있다.https://github.com/kyungc
동작을 나타내는 메서드는 자신이 속한 객체의 상태, 즉 퍼로퍼티를 참조하고 변경할 수 있어야 한다. 이대 메서드가 자신이 속한 객체의 포로퍼티를 참조하려면 먼저 자신이 속한 객체를 가리키는 식별자를 참조할수 있어야한다.객체 리터럴 방식으로 생성한 객체의 경우 메서든 내
this 바인딩 은 함수 호출 방식, 즉 함수가 어떻게 호출되었는지에 따라 동적으로 결정된다.https://github.com/kyungchan3007/JavaScript/blob/develop/Class08.js
생성자 함수 호출생성자 함수 내부의 this에는 생성자 함수가 (미래에) 생성할 인스턴스가 바인딩된다.https://github.com/kyungchan3007/JavaScript/blob/develop/Class09.js
클로저를 공부하기전에 실행 컨텍스트를 봐야 이해될거 같다.. ㅠ자 훓어보자!실행컨텍스트는 자바스크립트의 동작원리를 담고 있는 핵심 개념이다. 실행 컨텍스트를 바르게 이해하면 자바스크립트가 스코프를 기반으로 식별자에 바인딩된 값( 식별자 바인딩 )을 관리하는 방식과 호이
전역코드를 평가하여 전역 실행 컨텍스트를 생성한다. 그리고 함수가 호출되면 함수 코드를 평가하여 함수 실행 컨텍스트를 생성한다.이때 생성된 실행 컨텍스트는 스택 자료구조 관리된다. 이를 실행 컨텍스트 스택 이라고 부른다.위 코드를 실행하면 코드가 실행되는 시간의 흐름에
클로저는 자바스크립트 고유의 개념이 아니다. 함수를 일급 객체로 취급하는 함수형 프로그래밍 언어에서 사용되는 중요한 특성이다.예제를 통해 알아보자!outerFunc함수 내부에서 중첩 함수 innerFunc가 정의되고 호출되었다. 이때 중첩 함수 innerFunc의 상위
innerFunc를 호출하면 outer 함수는 중첩 함수 inner를 반환하고 생명주기를 마감한다. 함수의 실행이 종료되면 outer 함수의 실행 컨텍스트는 실행 컨텍스트 스택에서 제거된다. 이때 outer함수의 지역 변수 x와 변수 값 10을 저장하고 있던 outer
클로저는 상태를 안전하게 변경하고 유지하기 위해 사용한다.다시 말해, 상태가 의도치 않게 변경되지 않도록 상태를 안전하게 은닉하고 특정 함수에게만 상태 변경을 허용하기 위해 사용한다.위코드는 전역 변수를 통해 관리되고 있기 때문에 언제든지 누구나 접근할수 있고 변경할수
캡슐화는 객체의 상태를 나타내느 프로퍼니를 참조하고 조작할수 있는 동작인 메서드를 하나로 묶는 것을 말한다.캡슐화는 객체의 틀정 프로퍼티나 메서드를 감출 목적으로 사용하기 도 하는데 이를 정보 은닉이라 한다.자바스크립트는 public, private , protecte
부트캠프 하면서 스프레드 문법을 자주 사용했는데 이번에 제대로 알고 지나 가고자한다..!스프레드 문법을 사용할 수 있는 대상은 Array , String , Map, Set , Dom 컬렉션 arguments 와 같이 for...of 문으로 순화할 수 있는 이터러블에
스프레드 문법을 배열 리터럴에서 사용하면 더욱 간경하고 가독정 좋게 표현할수 있다.splice를 사용해서 1번 인덱스에 arr2요소들을 제거하지 않고 추가!이때 원본 배열의 각 요소를 얕은 복사하여 새로운 복사본을 생성한다. 이는 slice 메서드로 마찬가지다.얕은 복
프로젝트에서 비동기 처리를 동기 처리처럼 동작하도록 구현하기 위해 async/await를 많이 사용해서 무엇인지 보려고하니.. 이기능들이 프로미스 기반으로 동작하기때문에 먼저 이놈부터 먼저 봐야할거 같다..ㅜ자바스크립트는 비동기 처리를 위한 하나의 패턴으로 콜백 함수를
고차함수는 함수를 인수로 전달받거나 반환하는 함수를 말한다.자바스크립트는 고차 함수를 다수 지원한다. 특히 배열은 매우 유용한 고차 함수를 제공한다.sort메서드로 오름차순으로 정렬했지만? 오름차순으로 정렬되지 않는 모습이다. sort 메서드의 기본정렬 순서는 유니코드
프로미스를 공부하기전에 동기처리와 비동기처리를 알고 넘어가야할거 같아 남긴돠\~~!이전에 공부했던 실행컨텍스트 얘기를 잠깐 보고 넘어가야할거 같다!자바스크립트 엔진은 단하나의 실행 컨텍스트 스택을 갖는다! 이말은 함수를 실행할수 있는 창구가 하나밖에 없다! 최상위 요소
자바스크립트는 비동기 처리를 위한 하나의 패턴으로 콜백 함수를 사용한다. 하지만 전통적인 콜백 패턴은 콜백헬로 인해 가독성이 나쁘고 비동기 처리 중 발생한 에러의 처리가 곤란하며 여러 개의 비동기 처리르 한번에 처리하는 데도 한계가 있다.위 내용을 보면 Get 요청을
Promise 는 주로 생성자 함수로 사용되지만 함수도 객체이므로 메서드를 가질수 있다.Promise.resolve / Promise.rejectresolve 와 reject 메서드는 이미 존재하는 값을 래핑하여 프로미스를 생성하기 위해 사용한다.resolve와 rej
Promise.racePromise.race 메서드는 Promise.all 메서드와 동일하게 프로미스 요소를 갖는 배열드의 이터러블을 인수로 전달 받는다.이말은 즉 fulfilled 상태가 되는 것을 기다리는 것이 아니라 가장 먼저 fulfilled 상태가 된 프로미스
프로미스 공부하면서 놓친 부분이 있는거 같다.. 그래서 작지만 보고 간드아\~\~~!!fulfilled 또는 rejected 상태를 settled상태라고 한다. settled 상태는 fulfilled 또는 rejected 상태와 상관없이 pending 이 아닌 상태로
비동기 처리를 위한 콜백 패턴은 에러처리가 곤란하다.!!그렇지만 프로미스는 에러를 문제없이 처리 할수 있다.프로미스 후속 처리 메서드은 then, catch, finally 를 사용하여 수행한다. 비동기 처리에서 발생한 에러는 then 메서드의 두 번째 콜백 함수로
렌더링 과정을 공부하면서 모르는 단어와 말들이 있어 적는다!! CSSOM , AST는 브라우저의 렌더링 과정에서 가장 많이 나오는 말이다. 렌더링의 뜻과 브라우저의 렌더링 과정을 알아봐야한다. 렌더링 렌더링은 HTML, CSS , 자바스크립트로 작성된 문서를 파싱
object.assign 에 대해 알아보려고 한다. 객체를 좀더 쉽게 병합해주는 메서드 라고 보면된다. fireBase 에서 유저프로필을 수정하고 바로 수정되 내용을 보여주기 위해서 사용했던 메서드 인데 잊어버릴거 같아서 남긴다. 좀더 쉽게 기억하기위해 예제를 통해
DOM은 요소 노드를 취득할 수 있는 다양한 메서드를 제공한다 document.prototype.getElementById 메서드는 인수로 전달한 id 어트리뷰트 깂을 갖는 하나의 요소 노드를 탐색하여 반환한다. getElementById 메서드는 Document.pr