Hoonni
'Web Basic' 카테고리의 글 목록

Web Basic

Web Basic/JavaScript

Null & undefined

Null & undefined 공통점 둘다 각각의 타입명(undefined, null)의 값이 유일하다. undefined 타입의 값은 undefined가 유일하다. null 타입의 값은 null이 유일하다. undefined 타입 undefined는 원시 자료형 undefined로 분류된다. undefined는 "아무 값도 할당받지 않은 상태"를 의미한다. var 키워드로 선언한 변수는 암묵적으로 undefined로 초기화된다. 변수 선언에 의해 확보된 메모리 공간을 처음 할당이 이뤄질 때까지 빈 상태(대부분 비어 있지 않고 쓰레기 값이 들어 있다.)로 내버려두지 않고 자바스크립트 엔진이 undefined로 초기화한다. 따라서, 변수를 선언한 이후 값을 할당하지 않은 변수를 참조하면 undefined가..

Web Basic/JavaScript

Js와 Node의 차이

Js와 Node의 차이 JavaScript : 브라우저, 문서 등을 다루는 즉, clinet에 대한 개발을 하는 도구이다. Nodejs : backend에서 server에 대한 개발을 하는 도구이다. 차이점 Nodejs는 chrome의 자바스크립트 엔진인 v8을 이용한다. JavaScript는 스크립트 언어로써 특정한 환경(브라우저)에서만 사용가능한데 Nodejs를 통하여 특정한 환경(브라우저) 없이도 실행을 할 수 있게 된다. JavaScript를 크롬(chrome)같은 브라우저에서만 쓰는 것이 아닌 브라우저 밖. 즉, 내 컴퓨터에서 다양한 용도로 확장하기 위해 만들어진 것이 바로 Node.js이다. Nodejs를 이용하여 Express 같은 라이브러리를 사용하여 자바스크립트 언어로 서버를 구축하기도 ..

Web Basic/JavaScript

let, const, var

let, const, var JavaScript에서 변수 선언 방식에는 let, const, var가 있다. 변수 선언 방식 var는 변수 선언 방식에 있어서 큰 단점을 가지고 있다. 변수를 한 번 더 선언했음에도 불구하고, 에러가 나오지 않고 각기 다른 값이 출력되는 것을 볼 수 있다. 이는 유연한 변수 선언으로 간단한 테스트에는 편리 할 수 있으나, 코드량이 많아진다면 어디에서 어떻게 사용 될지도 파악하기 힘들뿐만아니라 값이 바뀔 우려가 있다. 그래서 ES6 이후, 이를 보완하기 위해 추가 된 변수 선언 방식이 let과 const이다. 위의 코드에서 변수 선언 방식을 바꿔주면 아래와 같다. ┌ name이 이미 선언 되었다는 에러 메시지를 볼 수 있다. (const도 마찬가지이다.) ├ 변수 재선언이 ..

Web Basic/JavaScript

ES6의 특징

ES6의 특징 let과 const 전통적으로 자바스크립트는 함수스코프와 전역스코프만을 지원하여 변수의 생명주기 및 접근을 제어한다. 하지만 ES6에서부터는 블록스코프도 지원하게 됐다. 이를 가능하게 해주는 것이 let과 const ┌ 위의 코드는 블록 스코프를 따르는 다른 언어들에서는 에러를 발생시켰지만, ├ 함수스코프와 전역스코프를 따르는 자바스크립트에서는 문제없이 작동한다. └ 그러나, 이는 많은 에러와 버그의 원인이었으며, let과 const가 도입된 이유였다. ┌ let을 사용하면 선언한 변수는 블록안에서만 유효하게 된다. ├ 따라서, 블록 밖에서 접근했더니 ReferenceError를 발생시킨다. ├ const 역시 마찬가지로 블록스코프를 따른다. ├ const와 let의 차이점은 const는 ..

Web Basic/JavaScript

==, === 차이점

==, === 자바스크립트는 엄격한 비교와 유형변환 비교를 모두 지원함 따라서, 어떤 연산자가 어떤 비교조건에 사용되는지가 중요함 ===는 변수 유형을 고려함 └ 엄격한 비교를 함 ([값 & 자료형] -> true) ==는 변수 값을 기반으로 유형을 수정함 └ 서로 다른 유형의 두 변수의 [값] 비교 예시 └ 0값은 false와 동일하므로 true 출력 └ 두 피연산자의 유형이 다르기 때문에 false 출력 └ 자동 유형변화 비교하기 때문에 true 출력 └ 두 피연산자의 유형이 다르기 때문에 false 출력 └ 자동 유형변화 비교하기 때문에 true 출력 └ 두 피연산자의 유형이 다르기 때문에 false 출력 !=와 !== 비교연산자의 차이는 ? └ 값이 다르지 않으므로(자료형 비교 안하므로) fals..

Web Basic/JavaScript

스코프, 스코프 체인

스코프 자바스크립트의 변수에는 유효 범위가 있음 변수와 같은 식별자에 대한 유효 범위를 스코프라고 함 유효범위는 전역공간과 지역공간으로 크게 두가지로 나뉘며, 이에따라 변수 또한 전역변수와 지역변수로 나뉨 전역 변수 스크립트 영역 어디에도 힘을 발휘 할 수 있는 변수 변수가 어떤 블록안에 들어가있지 않을 경우 전역변수라 함 지역 변수 정해진 영역에서만 힘을 발휘하는 변수 보통 블록 { } 안이나, 함수 안에서만 변수에 접근할 수 있음 스코프 체인 식별자의 유효범위 즉, 스코프를 안에서부터 밖으로 검색해 나가는 것을 스코프 체인이라고 함 컨텍스트는 해당 코드의 외부환경정보를 수집해 올 때 스코프 체인이 발생 └ a가 1이 되는 이유 : 바로 위 식별자의 Environment를 참조해오기 때문 ① 먼저 ou..