[Codecamp] Javascript 기본 개념

·2022년 8월 25일
0

뒤늦게 적어보는 Javascript 기본 개념들!
블로그 글 하나에 기본적인 개념들을 한번에 쭉 정리해보려고 한다.

1. null과 undefined의 차이점

1) null

명시적으로 값이 비어있음을 나타낼 때 사용한다.
아무것도 참조하고 있지 않다는 의미가 담겨 있으며, 객체를 담을 변수를 초기화할 때 많이 사용한다.

null은 데이터 타입이자 값을 나타낸다.

2) undefined

값이 할당되지 않은 변수를 undefined 타입이라고 한다.
undefined 타입은 변수 자체의 값 또한 undefined이다.
즉, 정의되지 않은 것, 초기화되어 있지 않거나 존재하지 않는 객체의 프로퍼티 및 존재하지 않는 배열의 원소값에 접근하려고 할 때 얻어지는 변수의 값이라고 할 수 있다.

undefined 또한 데이터 타입이자 값을 나타낸다.
다만, undefined는 변수를 선언만 하더라도 할당되지만, null은 변수를 선언한 후에 null로 값을 바꾼다.

2. ==과 ===의 차이점

1) ==

==는 Equal Operator이다.
a==b일 때, a와 b의 값이 같은지 비교해서 같으면 true, 다르면 false이다.
즉, ==는 값만 같으면 true를 반환한다.

2) ===

===는 Strict Equal Operator이다.
a===b일 때, a와 b의 값과 type을 비교해 모두 같으면 true, 하나라도 다르면 false를 반환한다.

3) ==과 === 비교하기

let a = 1
let b = "1"

console.log(a==b) // true
console.log(a===b) // false

위에서 비교한 null, undefined의 차이를 ==과 ===으로 비교해볼 수 있다.
null과 undefined 모두 '값이 없음'을 의미하므로 ==으로 비교할 경우 true를 반환하지만, null은 선언, 등록을 하는 키워드이고 undefined는 미리 선언된 전역변수라는 차이점이 있어 ===으로 비교할 경우 false를 반환한다.

console.log(null == undefined) //true
console.log(nul === undefined) //false

3. var, let, const

var, let으로 선언할 경우 변수를 담는 상자가 생성되어 해당 상자 내의 데이터를 수정할 수 있다.

반면에, const로 선언할 경우 상수를 담는 상자가 생성되어 상자 내의 데이터를 한 번 담으면 수정할 수 없다.

let과 const는 한 번 생성한 상자의 이름은 재활용할 수 없으나, var는 한 번 만들었던 상자의 이름과 같은 이름의 상자를 계속해서 만들 수 있다. 따라서 var로 데이터 상자를 만들 경우 이름이 중복되어 찾기 힘들고 에러가 쉽게 날 수 있으므로 실무에서는 var를 거의 사용하지 않는다.

4. Javascript와 Node js의 차이

1) Javascript

Javascript는 브라우저, 문서 등을 다루는 client에 대한 개발을 하는 도구이다.
Javascript는 스크립트 언어로써 Chrome같은 브라우저(특정한 환경)에서만 사용 가능하다.

2) Node js

Node js는 backend에서 server에 대한 개발을 하는 도구이다.
Node js는 chrome의 자바스크립트 엔진인 v8을 이용하며, Javascript와 달리 브라우저(특정한 환경) 없이 브라우저 밖인 내 컴퓨터에서 다양한 용도로 확장하기 위해 사용이 가능하다.
Node js는 서버가 아니며, Express와 같은 라이브러리를 사용하여 Javascript 언어로 서버를 구축할 수도 있다.

5. ES6(ECMAScript 표준의 6번째 에디션, ECMAScript2015)의 특징

1) ECMAScript

Javascript는 Netscape에서 1995년에 개발한 것으로, 위에서 언급한 바와 같이 웹 브라우저에서 동적인 기능을 제공하기 위해 개발된 언어이다.
표준 규격이 없이 여러 브라우저에서 독자적인 특성이 추가되면서 호환성 문제가 발생하자, ECMA 국제기구에서 ECMAScript Standard라는 표준을 만들었다.
현재의 Javascript는 ECMAScript와 BOM(Browser Object Model), DOM(Document Object Model)을 포괄하는 개념이다.

2) ES6 특징

(1) 기본 매개 변수 (Default Parameters)

(2) 템플릿 리터럴 (Template Literals)

(3) 멀티 라인 문자열 (Multi-line Strings)

(4) 비구조화 할당 (Destructuring Assignment)

(5) 향상된 객체 리터럴 (Enhanced Object Literals)

(6) 화살표 함수 (Arrow Functions)

(7) Promises

(8) 블록 범위 생성자 Let 및 Const (Block-Scoped Constructs Let and Const)

(9) 클래스 (Classes)

(10) 모듈 (Modules)

< 참조 : https://webclub.tistory.com/1
https://steemit.com/kr-dev/@cheonmr/js-operator
https://velog.io/@bleach7/Javascript%EC%99%80-Nodejs%EA%B0%80-%EC%96%B4%EB%96%BB%EA%B2%8C-%EB%8B%A4%EB%A5%B8-%EA%B2%83%EC%9D%B8%EC%A7%80-%EC%84%A4%EB%AA%85%ED%95%B4%EC%A3%BC%EC%84%B8%EC%9A%94
https://blog.asamaru.net/2017/08/14/top-10-es6-features/ >

profile
개발을 개발새발 열심히➰🐶

0개의 댓글