본문 바로가기

IT 공부/JS7

프로토 타입 MDN 정의 Javascript에서는 객체를 상속하기 위하여 프로토타입이라는 방식을 사용합니다. 모든 객체들이 메소드와 속성들을 상속 받기 위한 템플릿으로써 프로토타입 객체(prototype object)를 가진다는 의미입니다. 프로토타입 객체도 또 다시 상위 프로토타입 객체로부터 메소드와 속성을 상속 받을 수도 있고 그 상위 프로토타입 객체도 마찬가지입니다. 이를 프로토타입 체인(prototype chain)이라 부르며 다른 객체에 정의된 메소드와 속성을 한 객체에서 사용할 수 있도록 하는 근간입니다. https://developer.mozilla.org/ko/docs/Learn/JavaScript/Objects/Object_prototypes Object prototypes - Web 개발 학습하기 .. 2023. 3. 30.
호이스팅 MDN 정의 JavaScript에서 호이스팅(hoisting)이란, 인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것을 의미 var로 선언한 변수의 경우 호이스팅 시 undefined로 변수를 초기화 o let과 const로 선언한 변수의 경우 호이스팅 시 변수를 초기화 x var,let,const 가 헛갈린다면? link scope https://woohot.tistory.com/entry/%EC%8A%A4%EC%BD%94%ED%94%84-%EC%97%90-%EB%8C%80%ED%95%B4 스코프 에 대해 스코프 : 식별자 접근 규칙에 따른 유효범위 블록 레벨 스코프, 함수 레벨 스코프, 렉시컬 스코프, 동적 스코프, 체이닝 스코프 동적 스코프 Dynamic Scope 함수를 어디서.. 2023. 2. 13.
스코프 에 대해 스코프 : 식별자 접근 규칙에 따른 유효범위 블록 레벨 스코프, 함수 레벨 스코프, 렉시컬 스코프, 동적 스코프, 체이닝 스코프 동적 스코프 Dynamic Scope 함수를 어디서 호출 하였는지에 따라 상위 스코프를 결정 렉시컬 스코프 ( JS ) Lexical scope/Static scope 함수를 어디서 선언 하였는지에 따라 상위 스코프를 결정 JavaScript 및 대부분의 프로그래밍 언어에서 사용하는 방법 전역 스코프 Global scope 코드 어디에서든지 참조 가능 지역 스코프 Local scope / Function-level scope 함수 코드 블록이 만든 스코프로, 함수 자신과 하위 함수에서만 참조 가능 블록 레벨 스코프 Bloack Level Scope / 코드 블록 내에서만 참조 .. 2023. 2. 3.
sequelize js 사용법 회사에서 다른 프로젝트를 할 때 front : react back : koa 를 할때 db 관련 라이브였다. 초기 설정 등 하였는데 시간이 지나 최근 버전과는 살짝 차이가 날 수 있다. 관계형 데이터베이스를 쉽게 다룰수 있게 도와주는 라이브러리이고 대표적인 node.js의 ORM(Object Relational Mapping)이다. 보통 스프링에 jpa 많이 사용한다고 들었다 . 개념은 같다라고 생각한다. #ORM ? 객체와 관계형 데이터베이스를 자동으로 맵핑해주는 것. package에 적힌 버전은 ^6.3.5 이다. 설치 및 설정 $yarn add sequelize-cli sequelize sequelize folder 생성 후 $sequelize init config.json → config.js 파.. 2023. 2. 2.
console.[ ? ? ] 일단 보통 대부분의 사람이 console.log 만 사용한다고 생각이들고 보긴했지만 console.log 만 쓰는거 같아 글을 정리하면서 상황에 맞는 console 을 써보려 한다. 꿀팁 공유해주시면 감사합니다. MDN 공식 문서 url ( 공식 문서 보는 습관들이자! ) https://developer.mozilla.org/ko/docs/Web/API/console 1. assert 메서드는 주어진 가정이 거짓인 경우 콘솔에 오류 메시지를 출력합니다. console.assert(assertion, obj1 [, obj2, ..., objN]); console.assert(assertion, msg [, subst1, ..., substN]); 매개변수 obj1 ... objN 출력에 사용할 JavaSc.. 2023. 1. 9.
ES7 (ES2016) 이후 문법 정리 ES6 이후 추가 된 문법 정리 참조 https://velog.io/@kyusung/after-es6 자바스크립트 최신 문법 살펴보기 (ES7-ES13) Ecma 2015(ES6) 이후 자바스크립트 기능들을 소개합니다. velog.io ES7 Array.prototype.includes() [1].includes(1); // true 지수 연산자 2**10 // 1024 ES8 async/await async getData() { const res = await api.getTableData(); // await asynchronous task // do something } Object.values() Object.values({a: 1, b: 2, c: 3}); // [1, 2, 3] Object.e.. 2022. 8. 17.
ES6 (es2015) TypeScript의 기반이 되는, 클래스 문법과 모듈 기능 추가, IE9 부터 지원 호이스팅이 사라진 것 같은 효과 함수 단위 스코프에서 블록 단위 스코프로 변경 this를 동적으로 바인딩하지 않는 화살표 함수 모듈화 지원 콜백 지옥에서 구원해줄 Promise Default, Rest 파라미터 해체 할당, Spread 연산자 템플릿 리터럴 추가된 문법 비구조화 할당 (Destructuring Assignment) ES5 var name = req.body.name var age = req.body.age var email = req.body.email ES6 const {name,age,email}= req.body 객체 초기자 ( Object Initialize - Property Shorthand .. 2022. 8. 17.