: 키와 값을 서로 연결시켜 저장하며 저장된 순서대로 각 요소들을 반복적으로 접근 할 수 있는 객체
이며 ES2015부터 새롭게 도입된 객체이다.
멤버 | 개요 |
---|---|
size | 요소 수 |
set(key, val) | 키, 값의 요소를 추가 (중복이 될 경우 덮어씀) |
get(key) | 지정한 키의 요소 취득 |
has(key) | 지정한 키의 요소가 존재하는지 판정 |
delete(key) | 지정한 키의 요소를 삭제 |
clear() | 모든 요소를 삭제 |
keys() | 모든 키를 취득 |
values() | 모든 값을 취득 |
entries(key) | 모든 키/값을 취득 |
forEach(fnc [,that]) | 맵 내의 요소를 함수 fnc로 순서대로 처리 |
const map = new Map(); // Map 객체 생성
map.set('name', 'min'); // 요소 추가
map.set('age', 27); // 요소 추가
map.set('mbti', 'ESTJ') // 요소 추가
console.log(map.size); // 3 (요소 수)
console.log(map.get('name')); // min
console.log(map.get('age')); // 27
console.log(map.has('name')) // true
console.log(map.has('age')) // true
for(const key of map.keys()) { // 키를 순서대로 취득
console.log(key); // name, age, mbti
}
for(const value of map.values()) { // 값을 순서대로 취득
console.log(value); // min, 27, ESTJ
}
map.delete('mbti'); // true
console.log(map.size); // 2
map.clear();
console.log(map.size) // 0
: has메소드로 값의 유무를 판정 하거나 for ~ of루프/values 프로퍼티로 내부 요소를 열거하는 즉, 중복되지 않은 값의 집합을 관리하기 위한 객체
이다. 중복된 값이 추가된 경우에는 무시한다.
Map 객체와 동일하게 ES2015부터 새롭게 도입된 객체이다.
멤버 | 개요 |
---|---|
size | 요소 수 |
add(val) | 지정한 값을 추가 |
has(val) | 지정한 값이 존재하는지 판정 (boolean) |
delete(val) | 지정한 값의 요소를 삭제 |
clear() | 모든 요소를 삭제 |
entries() | 모든 키/값을 취득 |
values() | 모든 값을 취득 |
forEach(fnc [,that]) | 지정한 함수를 Set의 각 값마다 처리 |
const set = new Set(); // Set 객체 생성
set.add('a'); // 값 추가
set.add(1); // 값 추가
set.add(3); // 값 추가
set.add('b'); // 값 추가
console.log(set.size); // 4 (요소 수)
console.log(set.has('b')); // true
console.log(set.has(4)); // false
console.log(set); // Set(4) { 'a', 1, 3, 'b' }
for(var val of set.values()) { // 모든 값을 취득
console.log(val); // a, 1, 3, b
}
set.delete('b'); // true (지정한 값의 요소 삭제)
console.log(set.size); // 3
set.clear(); // 모든 요소 삭제
console.log(set.size); // 0
➕ 중복 체크
const arry = ['a', 'b', 'c', 'b'];
const set2 = new Set(arry);
console.log(arry.length); // 4
console.log(set2.size); // 결과 : 3, set 객체는 중복을 허용하지 않는다.
if(arry.length != set2.size) { // 원본 배열의 크기와 원본 배열을 가지고 생성한 set 객체의 크기 비교
console.log('중복 체크'); // 중복 체크 (중복이 존재)
}
: JavaScript에서 세 개의 피연산자를 취할 수 있는 유일한 연산자이며 조건문 ? true일 경우 실행할 식 : false일 경우 실행할 식
으로 구성이 된다.
const date = new Date(); // Data 객체 생성
let hour = date.getHours(); // 시(0~23)
console.log("현재 시간은 " + (hour > 12 ? "오후" : "오전") + hour + "시 입니다.");
// hour가 12보다 크다면(true) 오후, 12보다 작다면(false) 오전
: 주어진 조건식이 true/false 중 어느 쪽인지에 따라 대응하는 명령을 실행 하는 조건문
명령이다.
let score = 95;
if(score >= 90) {
console.log('pass');
}
else {
console.log('fail');
}
: if문과 같이 가장 많이 사용하는 조건문
명령이다.
default 블록
을 호출한다.break 명령
을 해야한다.let num = 3;
switch(num % 2) {
case 0 :
console.log('짝수');
break;
case 1 :
console.log('홀수');
break;
defalut:
console.log('잘못된 값');
break;
}
: 미리 지정된 횟수만큼만 반복처리 하는 반복문
명령어이다.
for (초기화식; 조건식; 증감식) { 실행문; }
for(let i = 1; i < 10; i ++) { // i = 1로 초기화 후 i가 10미만일 동안에만 루프 반복
for(let j = 1; j < 10; j++) { //j = 1로 초기화 후 j가 10미만일 동안에만 루프 반복
console.log(i + ' * ' + j + '= ' + i*j); // i * j = i*j의 결과 값이 나오며
//1단부터 9단까지의 구구단이 출력
}
}
: 지정된 배열의 요소를 추출하여 선두부터 순서대로 순회하는 반복문
명령어이다.
for (가변수 in 연상 배열) { 루프 내에서 실행하는 명령 }
const data = ['almond', 'banana', 'sweetpotato']; // 배열
for (const key in data) { // 가변수(배열의 키를 일시적으로 보관하기 위한 변수)
console.log(key + ' = ' + data[key]); // 결과 : 0 = almond 1 = banana 2 = sweetpotato
}
: 배열 뿐만 아니라 Array와 같은 객체, 반복자/생성자 등도 순서대로 순회하는 반복문
명령어 이다. ES2015에 추가된 명령이다.
for (가변수 of 열거 가능한 객체) { 루프 내에서 실행하는 명령 }
const data1 = ['almond', 'banana', 'sweetpotato']; // 배열
for(const value of data1) {
console.log(value); // 결과 : almond banana sweetpotato
}
➡ for ~ in 명령에서는 가변수에 키명(인덱스 번호)이 건네진 것에 반해, for ~ of 명령에서는 값을 열거 하고 있다.
: 조건식이 true일 동안 루프가 반복하는 반복문
명령어이다.
while(조건식) { 조건식이 true일 때 실행되는 명령 }
let a = 1;
while(a < 50) { // 조건식 : a< 50이 true일 경우, 실행문 실행 / false일 경우, while문 종료
console.log(a); // 1~49까지 출력
a++; // 증감문
}