본문 바로가기

JavaScript

(20)
실행 컨텍스트 실행 컨텍스트 실행할 코드에 제공할 환경정보를 모아놓은 객체 ​ ​ ​ - 실행 컨텍스트 3가지 객체 --Variable Object 실행에 필요한 여러 정보들을 담을 객체 변수, 매게변수와 인수 함수 선언 ​ 전역 컨텍스트인 경우 => 전역 객체 함수 컨텍스트인 경우 => 활성 객체를 가리킴 ​ --스코프체인 일종의 리스트 전역 객체, 중첩된 함수의 레퍼런스를 저장하고 있음 ​ 식별자 중에서 객체의 프로퍼티가 아닌 변수를 검색하는 메커니즘 ​ 스코프체인을 통해서 렉시컬 스코프 파악 ​ --this value 함수 호출 패턴에 의해 this 값 결정 ​ ​ - 실행 컨텍스트 생성 과정 ​ ///////////// 코드 실행 전 1. 전역 객체가 생성됨 ​ 2. 전역 실행 컨텍스트 생성 // 실행 컨텍스트..
절대경로 상대경로 절대경로 최초 시작점부터 경로를 전부 기입하는 방식 맨 앞에 / 붙이지 않음 상대경로 비교 대상을 기준으로 입력한 주소 찾아나감 기준 경로 => 절대 경로 변환하여 찾아나감 맨 앞에 / 붙임 참고자료 https://mommoo.tistory.com/82
메소드 함수란 ? 메소드 함수란 ? 객체안의 함수 // 객체안에 키값의 value 가 함수인것 함수는 모두 객체의 메소드 => widow 객체의 메소드 ex) a 함수 만들고 window.a 사용 가능 함수 내에서 사용되는 this 키워드 => 그 함수 소유 객체를 가르킨다 참고자료 https://offbyone.tistory.com/140
stable , unstable, ​inplace stable , unstable 같은 키 값을 가진 원소의 순서가 정렬 후에도 유지 되느냐 ​ 정렬 후에도 원래의 순서 유지 => stable 반대 => unstable ex) quickSort ​ ​ inplace 입력 리스트 내부에서 정렬이 이루어짐 반대 => 별도의 저장공간 필요 ex) mergeSort​
promise 프로미스 자바스크립트 비동기 처리에 사용되는 객체​ 콜백에 콜백 계속 연속으로 쓰면 => 가독성이 안좋아짐 => 유지보수가 안좋음 수정, 새로운것 추가도 힘듦 ​ 식이 끝날때까지 기다려야 함 ​ 프로미스 주도권을 어느정도 가져옴 ​ 프로미스 => 객체 만드는것 비동기 흐름을 관리해주는 객체를 만드는것 ​ 장점 비동기 흐름에서 콜백을 넘겨주고 기다리는 형태 => 프로미스 객체 만듬으로써 리턴, 매개 변수 넘기기, 추가 기능 넣기 등등 가능 에러 핸들링도 잘해줌 ​ 자바스크립트 네이티브 try, catch와 비슷하게 처리할 수 있게 됨 // 비동기는 못썻음 // 어쩔 수 없이 콜백으로 넘겨줫음 ​ 프로미스 인자 => 함수 1개 함수의 인자로 => resolve (성공), reject (실패) ​ then =..
Asynchronous, Higher Order Function, Event Loop Asynchronous 비동기 프로그래밍 자바스크립트 => 싱글 스레드 싱글스레드 => 1 콜스택 한번에 한가지 일만 수행함 => 비동기가 중요 비동기 ex) 카페에서 커피 주문 => 진동벨 울리면 받기 - 동기적 동작시 문제 발생 값 처리를 완료 후 다음 값을 실행하는데, 값 처리 시간이 오래 걸린다면 다음 값은 기다려야 한다. 극복 방법 ? Higher Order Function Event Loop 고차원 함수 Higher Order Function 함수를 인자로 받거나, 리턴함 //하나만 충족되어도 됨 ex) map은 함수를 인자로 받으니 고차원 함수 일차원 함수 함수를 인자로 받거나, 리턴 X 고차원 함수가 가능한 이유? 자바스트립트 에서 함수 => 일급 객체 //모든 언어가 지원x 일급객체 (f..
OOP, Encapsulation, Abstraction, factory function, Inheritance Object Orieted Programming (OOP) 객체지향 프로그래밍 객체를 이용해서 코드를 정리 물건을 발명하는것과 유사 까마귀 => 전화기 객체는 우리가 만들고자 하는것에 정보, 기능, 행동을 가짐 관련 데이터, 기능을 하나의 객체로 묶어서 만든다 oop 장점 가독성이 좋다 oop 단점 객체안의 정보 사용자가 조작 가능 =>해결하기 위한 방법이 캡슐화 캡슐화 Encapsulation 외부에서 함부로 접근할 수 없도록 내부정보 보호 // 정보 노출 유무는 상황에 맞게 1 2 3 4 5 6 7 8 9 10 11 12 var num = { a : 0, add: function () { this.a = 100; }, minus: function () { this.a = 50; } }; num.a =..
ES2015 , ES6 Arrorw Function - 인자가 1개면 소괄호 안씀 //두개 이상이면 필요 - 중괄호가 없으면 리턴을 함축하고 있다. - 인자가 없을때 default 값 설정 가능 Structuring , Object Destructuring 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 const info = { name: "nathan", lastName: "Jo", age: "25", favFood: { breakFast: "kimchi", lunch: "cake", dinner: "papaya" } } const { name, lastName } = info; //info 객체에서 name , lastName 속성을 찾아 //새로운 name ,lastName 변수에 ..