02. 자바스크립트 자료형Ⅰ
let dataTypes = ['number','string','boolean','null','undefined','array'];
// 배열의 2번째 요소를 출력해 주세요
console.log(dataTypes[1]);
// 배열의 마지막 요소를 출력해 주세요
console.log(dataTypes[dataTypes.length-1]);
// 기본 자료형에 속하는 처음 5개 요소를 잘라내서 출력해 주세요
console.log(dataTypes.slice(0,5));
03. 배열과 반복문
let dataTypes = ['number','string','boolean','null','undefined','array'];
for(i=0; i<dataTypes.length; i++){
console.log(dataTypes[i]);
}
05. 자바스크립트 자료형Ⅱ
let dataTypes = ['number', 'string', 'false', 'true', 'null', 'undefined'];
// 배열 끝에 'array'와 'object'를 추가해 주세요
// 여기에 코드를 작성하세요
dataTypes.push('array','object');
console.log(dataTypes);
// 배열의 마지막 요소 ('object')를 제거해 주세요
// 여기에 코드를 작성하세요
dataTypes.pop();
console.log(dataTypes);
// 배열 중간에 있는 'false', 'true'를 제거해 주세요
// 여기에 코드를 작성하세요
dataTypes.splice(2,2);
console.log(dataTypes);
// 'string' 바로 다음에 'boolean'을 추가해 주세요
// 여기에 코드를 작성하세요
dataTypes.splice(2,0,'boolean');
console.log(dataTypes);
06. 온도 바꾸기
let celsiusTemps = [27, 25, 26, 22, 28, 27, 21];
let fahrenheitTemps = []
for(i=0; i<celsiusTemps.length; i++){
let F = (celsiusTemps[i] * 9 / 5) + 32;
fahrenheitTemps.push(F);
}
console.log(fahrenheitTemps);
09. 코드댓 과제
let codethat = {
name: '코드댓',
bornYear: 2022,
founder: {
name: '김민준',
age: 28
},
languages: ['C++', 'Java', 'JavaScript', 'Python'],
};
// name 프로퍼티 값을 출력해 주세요
console.log(codethat.name);
// founder의 name 프로퍼티 값을 출력해 주세요
console.log(codethat.founder.name);
// languages 프로퍼티의 3번째 값을 출력해 주세요
console.log(codethat.languages[2]);
// propertyName 변수를 이용해서 bornYear 프로퍼티 값을 출력해 주세요
let propertyName = 'bornYear';
console.log(codethat[propertyName]);
11. 영어 단어장Ⅰ
let myVocab = {
function:'함수',
variable:'변수',
constant:'상수',
'default value':'기본 값',
global:'세계적인',
};
// '지역의'라는 뜻을 가진 local 프로퍼티를 추가해 주세요
myVocab.local = '지역의';
console.log(myVocab);
// global 프로퍼티의 값을 '전체적인'으로 바꿔 주세요
myVocab.global = '전체적인';
console.log(myVocab);
// default value 프로퍼티를 삭제해 주세요
delete myVocab["default value"];
console.log(myVocab);
13. 영어 단어장Ⅱ
let myVocab = {
function: '함수',
variable: '변수',
constant: '상수',
global: '전체적인',
local: '지역의',
printVocab: function (word){
if (word in myVocab){
console.log(`'${word}'의 뜻은 '${myVocab[word]}'입니다.`);
}else{
console.log('단어를 찾지 못했습니다.');
}
},
};
// 테스트 코드
myVocab.printVocab('function');
myVocab.printVocab('local');
myVocab.printVocab('array');
14. 숫자열, 문자열 메소드
**.toFixed()**
: 소수를 다룰 때 사용하는 메소드
- 파라미터로 숫자를 전달해 주면, 그 값만큼 소수점 아래 자릿수를 고정해 줌
- 소수 포맷팅 시 유용하게 쓰임
/* 숫자에 바로 사용 */
console.log(0.3.toFixed(2)); // 0.30
/* 숫자형 변수에 사용 */
let myNumber = 0.3591;
console.log(myNumber.toFixed(3)); // 0.359
.charAt(), []
- .charAt()이나 대괄호 표기법으로 특정 위치(인덱스)에 있는 문자를 가져올 수 있다.
let myString = 'codeit';
console.log(myString.charAt(3)); // e
console.log(myString[0]); // c
.slice()
: 두 인덱스 사이의 문자열을 잘라내 줌
let myString = 'codeit';
console.log(myString.slice(0, 4)); // code (0과 4 사이)
console.log(myString.slice(4); // it (4부터 끝까지)
console.log(myString.slice(); // codeit (문자열 전체)
.toUpperCase()
: 알파벳 문자를 모두 대문자로 만들어 줌
let myString = 'CoDeIt';
console.log(myString.toUpperCase()); // CODEIT
.toLowerCase()
: 알파벳 문자를 모두 소문자로 만들어 줌
let myString = 'CoDeIt';
console.log(myString.toLowerCase()); // codeit
.repeat()
: 문자열을 여러 번 반복하는 데 사용
let myStr = '123';
consol.log(myStr.repeat(5)); // 123123123123123
.trim()
: 문자열 시작과 끝부분에 있는 모든 공백 문자를 제거(trim)해 줌
- 문자열 중간에 있는 공백은 제거 x
let myString = ' Hello Codeit! ';
console.log(myString.trim());
let yourString = '\n\nHello Codeit!\t\t';
console.log(yourString.trim());
Hello Codeit!
Hello Codeit!
16. 순이들의 시험 결과
let hyesoonScore = {
'데이터 모델링의 이해': 10,
'데이터 모델과 성능': 8,
'SQL 기본': 22,
'SQL 활용': 18,
'SQL 최적화 기본 원리': 20,
};
let minsoonScore = {
'데이터 모델링의 이해': 14,
'데이터 모델과 성능': 8,
'SQL 기본': 12,
'SQL 활용': 4,
'SQL 최적화 기본 원리': 16,
};
function passChecker(scoreObject) {
let sum = 0;
for (let key in scoreObject){
sum = sum + scoreObject[key];
}
if (sum >= 60){
console.log('축하합니다! 합격입니다!');
}else{
console.log('아쉽지만 불합격입니다..');
}
}
// 테스트 코드
passChecker(hyesoonScore);
passChecker(minsoonScore);
17. 투표 집계하기
// 투표 결과 배열
let votes = [
'이재식', '이재식', '이규하', '이규하', '이규하',
'이재식', '이재식', '이규하', '이규하', '이재식',
'이규하', '이규하', '이규하', '이규하', '이재식',
'이재식', '이규하', '이재식', '이재식', '이재식',
'이재식', '이재식', '이규하', '이규하', '이규하',
'이규하', '이규하', '이재식', '이규하', '이규하',
'이규하', '이규하', '이재식', '이규하', '이규하',
'이규하', '이재식', '이재식', '이재식', '이규하',
];
// 후보별 득표수 객체
let voteCounter = {};
for(let key of votes){
if(key in voteCounter){
voteCounter[key]++;
}else{
voteCounter[key] = 1;
}
}
// 테스트 코드
console.log(voteCounter);
- 배열은 for...of, 객체는 for...in을 사용한다.
21. Math와 내장 객체
Math
- Math 내장 객체는 다양한 수학적 기능을 지원함
- Math 객체는 자바스크립트에 내장돼있기 때문에 바로 사용가능
/* PI 프로퍼티 */
console.log(Math.PI); // 3.141592653589793
/* floor() 내림 함수 */
console.log(Math.floor(3/2)); // 1
/* ceil() 올림 함수 */
console.log(Math.ceil(3/2)); // 2
Date
- 날짜 생성, 포매팅, 연산 등을 지원
const date = new Date();
console.log(date);
Wed Jun 29 2022 13:00:00 GMT+0900 (Korean Standard Time)
- 날짜를 생성하면 현재 날짜와 시간이 date에 저장
- 시간대는 컴퓨터의 시간대 설정을 참고해서 자동으로 설정
- Date는 일반적으로 날짜를 다루는 객체
- new Date()를 하면 특정 날짜를 저장하고 있는 객체를 하나 생성
- 특정 날짜를 생성하려면 날짜 포맷을 문자열로 넘겨줘도 되고, 연도, 월, 날짜에 해당하는 숫자를 파라미터로 넘겨줘도 됨
- 생성할 때 시간을 생략하면 00:00:00으로 설정됨
/* 문자열로 날짜 생성 YYYY-MM-DD */
const date1 = new Date('2022-06-29');
/* 문자열로 날짜 생성 YYYY-MM-DDThh:mm:ss */
const date2 = new Date('2022-06-29T13:00:00');
/* 숫자로 날짜 생성 new Date(year, month, date)
주의: month는 월의 인덱스라서 1월은 0, 2월은 1, ..., 12월은 11입니다 */
const date3 = new Date(2022, 5, 29);
/* 숫자로 날짜 생성 new Date(year, month, date, hours, minutes, seconds)
주의: month는 월의 인덱스라서 1월은 0, 2월은 1, ..., 12월은 11입니다 */
const date4 = new Date(2022, 5, 29, 13, 00, 00);
console.log(date1);
console.log(date2);
console.log(date3);
console.log(date4);
Wed Jun 29 2022 00:00:00 GMT+0900 (Korean Standard Time)
Wed Jun 29 2022 13:00:00 GMT+0900 (Korean Standard Time)
Wed Jun 29 2022 00:00:00 GMT+0900 (Korean Standard Time)
Wed Jun 29 2022 13:00:00 GMT+0900 (Korean Standard Time)
- 날짜 포매팅
const date = new Date(2022, 5, 29, 13, 00, 00);
console.log(date.getFullYear());
console.log(date.getMonth()); // 주의: 0에서 시작
console.log(date.getDate());
console.log(date.getHours());
console.log(date.getMinutes());
console.log(date.getSeconds());
console.log(date.getMilliseconds());
2022
5
29
13
0
0
0
- 문자열 포매팅(``)을 사용하면 날짜를 원하는 대로 출력가능
console.log(`오늘은 ${date.getFullYear()}년 ${date.getMonth() + 1}월 ${date.getDate()}일입니다.`);
오늘은 2022년 6월 29일입니다.
- 날짜 연산
: 날짜에서 다른 날짜를 빼면 차이를 밀리초로 계산
const date1 = new Date(2022, 5, 29, 11, 30, 00);
const date2 = new Date(2022, 5, 29, 13, 00, 00);
const timeDifference = date2 - date1;
console.log(timeDifference);
5400000
console.log(timeDifference + ' 밀리초');
console.log(timeDifference/1000 + ' 초');
console.log(timeDifference/1000/60 + ' 분');
console.log(timeDifference/1000/60/60 + ' 시간');
5400000 밀리초
5400 초
90 분
1.5 시간
'FRONTEND > JavaScript' 카테고리의 다른 글
[코드잇 - 모던 자바스크립트] 03. 함수 다루기 (0) | 2022.11.16 |
---|---|
[코드잇 - 모던 자바스크립트] 02. 자바스크립트의 동작 원리 (0) | 2022.11.16 |
[코드잇 - 모던 자바스크립트] 01. 모던 자바스크립트 이해하기 (0) | 2022.11.16 |
[코드잇 - 파이썬 개발자를 위한 자바스크립트 기초] 2. 제어문 (0) | 2022.11.15 |
[코드잇 - 파이썬 개발자를 위한 자바스크립트 기초] 1. 자바스크립트 기초 (0) | 2022.11.15 |