var
는 또 변수를 선언할 수 있지만, let
과 const
는 그럴 수 없다. var
와 let
은 변수의 값을 수정할 수 있지만, const
는 변수의 값을 수정할 수 없다.
var
와 let
은 지정된 초기값 없이 선언할 수 있고, 그 값은 undefined
가 된다. const
는 불가능하다.
typeof
값이 object로 반환된다.parseInt()
: 문자열 인자를 파싱하여 특정 진수(수의 진법 체계에서 기준이 되는 값)의 정수를 반환parseFloat()
: 문자열로 변환한 후 부동소수점 실수로 파싱해 반환console.log("== parseInt ==");
console.log(parseInt("1"));
console.log(parseInt(1));
console.log(parseInt("1.1"));
console.log(parseInt(1.1));
console.log("== parseFloat ==");
console.log(parseFloat("1"));
console.log(parseFloat(1));
console.log(parseFloat("1.1"));
console.log(parseFloat(1.1));
toString()
: 객체의 문자열 표현을 반환JSON.stringify()
: JavaScript 값이나 객체를 JSON 문자열로 변환JSON.parse()
: JSON 문자열의 구문을 분석하고, 그 결과에서 JavaScript 값이나 객체를 생성let foo1 = "1";
let foo2 = 2;
// 문자열로 변환
console.log(foo1.toString());
console.log(typeof foo1.toString());
console.log(foo2.toString());
console.log(typeof foo2.toString());
let foo3 = {
a: 1,
b: 1,
};
// 문자열로 변환
console.log(JSON.stringify(foo3));
console.log(typeof JSON.stringify(foo3));
let foo4 = [1, 2, 3, 4, 5];
let boo = JSON.stringify(foo4);
console.log(boo);
console.log(typeof boo);
// 원래대로 변환
console.log(JSON.parse(boo));
console.log(typeof JSON.parse(boo));
둘 다 destructuring assignment을 의미한다.
배열이나 객체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게 하는 JavaScript 표현식이다.
let foo = [1, 2, 3];
let [one, two, three] = foo;
console.log(foo);
console.log("foo의 키 값");
console.log(one, two, three);
// 배열 요소를 순차적으로 선언
let foo1 = [1, 2, 3];
let [one1, ...two2] = foo1;
console.log(one1, two2);
let foo2 = {
a: 1,
b: null,
};
let { a, b, c = 10 } = foo2;
console.log(a);
console.log(b);
console.log(c);
console.log(foo2);
pop()
: 배열의 마지막 요소 삭제하는 메소드push()
: 배열 가장 마지막 요소 추가indexOf()
: 배열에서 찾고 싶은 요소가 존재하면 인덱스를 반환하고, 존재하지 않다면 -1을 반환한다....
를 사용한다.let foo = {
a: 1,
b: 2,
};
let boo = {
...foo,
c: 2,
d: 3,
};
console.log(typeof boo);
console.log(boo);
function() {}
을 ES6부터 ()=>{}
로 바꿔 쓸 수 있다.
화살표 함수라고 불리며 return 없이 간단하게 반환할 수 있다.
class
키워드 사용할 수 있다.get
키워드를 이용하면 속성처럼 사용할 수 있다.constructor
는 constructor
와 단짝친구로 항상 같이 쓰인다.// 사각형의 넓이를 계산하는 클래스
class square {
// 생성자, class를 활용하여 객체를 만들 때 최초로 실행되는 초기화 함수
constructor(a, b) {
this.weight = a;
this.height = b;
}
// 계산된 값을 반환하는 함수지만, 프로퍼티로 사용
get area() {
return this.calcArea();
}
// 넓이를 계산하는 함수
calcArea() {
return this.weight * this.height;
}
}
const foo1 = new square(1, 2);
const foo2 = new square(22, 33);
console.log(foo1);
console.log(foo2);
// 둘 다 사용 가능
console.log(foo1.area);
console.log(foo1.calcArea());
console.log(foo2.area);
console.log(foo2.calcArea());