//템플릿 문자열과 표현식 템플릿은 1 옆에 `을 사용한다 엔터 옆의'가 아니다.
alert(`표현식 273 + 52의 값은 ${52 + 273}입니다...!`);
var variable = 273;
alert(`변수 variable의 값은 ${variable}입니다.`);
템플릿 문자열을 꼭 사용해야 하는 것은 아니지만 템플릿 문자열을 사용함으로써 가독성 + 조작의 편리함을 얻을 수 있다.
예를들어 변수 3개를 혼합해서 문자열을 생성하는 경우 text1 + text2 + text3; 식으로 작성을 하게 되는데 템플릿 문자열을 사용하게 되면 ${text1 text2 text3}
로 작성하면 된다. 중간중간 문자열을 편집하기도 더 쉬워진다.
// var, let = 변수 변할 수 있는 값
// constant = 상수 변할 수 없는 값
var variableA = 52; // 전역 스코프
let variableB = 273; // 지역 스코프
const constantC = 103;
/* EX
let variable = 273;
variable = 52; 가능함
const constant = 273;
constant = 52; 불가능함 */
alert(variableA);
alert(variableB);
alert(constantC);
var(전역 스코프) 와 let(지역 스코프) 은 변할 수 있는 값으로써 변수이다.
const = 상수로써 한번 지정하면 변할 수 없는 값이다.
//전역 스코프 var사용
/* for(var i = 0; i < 3; i++)
{
//1초(1000밀리 초) * i초 후에 i를 출력
//((i) => {
setTimeout(() => {
alert(i);
}, 1000 * i);
//})(i);
} */
//지역 스코프 let사용
for (let i = 0; i < 3; i++) {
setTimeout(() => {
alert(i);
}, 1000*i);
}
화살표 함수인 => 은 보통 전역에서 그 함수를 사용하기 위해 사용한다.
setTimeout = 일정시간 후에 한번 실행하는 명령어 이다.
/* if(273<100)
{
alert('273 < 100 => ture');
}
alert("종료"); */
var date = new Date();
var hour = date.getHours();
var min = date.getMinutes();
if (hour < 12) {
alert('오전입니다.');
}
else {
alert('오후입니다.');
}
//alert(date);
//alert(hour + '시' + min + '분 입니다.');
new Date()는 현재 시각을 date에 저장시켜주고 date.getHours()는 시간 date.getMinutes()는 분을 받아온다.
var date = new Date();
var min = date.getMinutes();
var mon = date.getMonth();
/* if (min < 30) {
alert('30분 이전입니다.');
}
if (min >= 30) {
alert('30분 이후입니다.');
} */
alert(mon);
if (1 <= mon && mon <= 3) {
alert('봄입니다.');
}
if (4 <= mon && mon <= 8) {
alert('여름입니다.');
}
else if (9 <= mon && mon <= 11) {
alert('가을입니다.');
}
else {
alert('겨울입니다.');
}
&&연산자는 AND연산자로 둘다 충족 되어야 조건문이 성립하고 ||연산자는 OR연산자로 둘중 하나만 충족되어도 조건문이 성립한다.
단 OR연산자는 A || B 라고 주어졌을때 A가 참이면 B를 확인하지 않고 조건문이 실행되게 된다는 점을 참고하자.
삼항연산자
var input = prompt('숫자를 입력해주세요.', '');
var number = Number(input);
(number> 0) ? alert('자연수입니다.') : alert('자연수가 아닙니다.');
? A : B 참일때는 A를 출력하고 거짓일때는 B를 출력하게 됩니다.
삼항연산자를 잘 이용하게 되면 조건문의 길이를 짧게할 수 있어 잘활용할 수 있으면 좋다.
//index0f() 메서드 사용
var output = '안녕하세요.'.indexOf('안녕');
alert(output);
var int = prompt('글을 작성하세요', '');
var set = int.indexOf('안녕');
var sleep1 = int.indexOf('잘자');
var sleep2 = int.indexOf('잘 자');
if (set == 0) {
alert('안녕하세요');
} else if(set != 0) {
alert('인사를 안 하다니');
}
if (sleep1 == 0 || sleep2 ==0 ) {
alert('안녕히 주무세요');
}
var num = prompt('숫자를 입력하세요.', '숫자')
if (num % 4 == 0) {
alert('4로 나눌 수 있는 숫자입니다.');
} else {
alert('4로 나눌 수 없는 숫자입니다.');
}
prompt로 문자열을 받으면 int에 저장하여 int.indexOf를 통해 내가 작성한 문자열에 () 괄호 안의 문자가 포함되어 있는지 확인하게 된다. 포함되어있으면 0을 반환하게 되고 포함되어있지 않으면 -1을 반환하게 된다.