1. inline과 inline block , block의 차이 

- inline: 요소가 한 줄에 배치됨 줄바뀜 x (a,span태그가 인라인 요소) 텍스트처럼 짧은컨텐츠에 사용. 너비 높이 설정불가

- inline-block: 요소가 한 줄에 배치되는 것은 동일하나 너비 높이 설정이 가능. 버튼같이 한줄에 여러개 배치하지만 width과 height가 다른 요소들을 배치할때 사용됨.

- block: 한 줄에 하나의 요소만 배치 요소 하나가 전체 너비를 차지함. (div,p,section,h1 등의 요소가 block요소 )

 

2. promise와 async/await의 차이 

에러처리 방식이 다르다

promise: .catch()

async/await : try-catch() 사용 

 

async/await이 Promise를 좀 더 쉽게 작성 할 수 있게 한 버전. 

promise는 비동기 처리를 위해 .then() .catch() .finally() 등 체인형태로 사용되어 

비동기 작업이 늘어나면 코드가 복잡해진다. 비동기작업 병렬실행 가능. 

 

둘 다 리턴값은 Promise객체이다. 

 

 

그러나 async/await은 비동기코드를 마치 동기코드처럼 작성할 수 있어 가독성이 높아진다. 

 

3. 자바스크립트 class 에서의 this의미 

>클래스의 생성된 인스턴스를 가리킴. 

 

4. let var const 의 차이

 

var가 가장 오래됨. ES5버전 이전에는 변수선언시 var만 사용했음.  변수가 선언된 함수 내에서만 유효하다.

전역변수로 쓰려면 함수 외부에서 선언해야. 

그러나 if와 for와 같은 블록스코프는 인식하지않음 블록(if or for) 내부에서 선언한 함수는 외부에서도 접근 가능하다. 

같은 스코프 내에서 재선언 가능하다. 

 

let, const 는 ES6부터 도입되었다.  var의 문제점을 해결하기위해 도입됨. 

둘 다 블록 스코프를 가지고, 선언된 블록 {} 안에서만 유효하다. 

같은 스코프 안에서 재선언 하는 것이 불가능하다. 

 

const는 상수, let은 변수

let은 재할당 가능, 그러나 const는 재할당 불가능. 그러나 const로 선언된 객체나 배열같은 참조형 데이터의 요소는 변경가능.  

 

 

+ Recent posts