[TIL] 플레이데이터 인공지능 24기 DAY 103

황예빈·2022년 12월 22일
0

플레이데이터 TIL

목록 보기
18/21
post-thumbnail

html에서 javascript의 출력

	<h1>자바스크립트의 수행 결과 출력</h1>
	<hr>
	<script type="text/javascript">
	window.alert("어디에 출력될까?....1");
	console.log("어디에 출력될까?....2");
	document.write("어디에 출력될까?....3"); //DOM 기술을 활용하여 출력

window.alert() : 경고메세지 출력
window.prompt() : 사용자로 부터 한 행 정도의 데이터를 입력 받을 때 사용
console.log() : 콘솔 창에 출력
document.write() : 도큐먼트 내에 출력
window.confirm() : 사용자로 부터 yes/no를 입력받고 싶을 때

	var num=window.prompt("숫자를 한 개 입력하세요.");
    document.write("<h1>"+(num+10)+"</h1>");
    document.write("<h1>"+(num-10)+"</h1>");
    document.write("<h1>"+(num*10)+"</h1>");
    document.write("<h1>"+(num/10)+"</h1>");
    document.write("<h1>"+(num%100)+"</h1>");

다음과 같이 숫자 하나를 받아들이는 창이 나타남
이 때 나머지 연산은 num 값을 전부 number형으로 계산하지만,
+는 문자열 결합 연산으로 처리한다.
문자형으로 계산하고 싶으면 Number()를 사용해 형변환 해줘야한다.

자바스크립트의 변수선언과 활용

var v1;
	document.writeln(v1+"<br>");
	v1 = 100;
	document.writeln(v1+"<br>");
	v1 = '가나다';
	document.writeln(v1+"<br>");	
	var v1 = true;
	document.writeln(v1+"<br>");	
	v1 = 123;
	document.writeln(v1+45+"<br>");	
	v1 = '123';
	document.writeln(v1+45+"<br>");	

변수 선언 시 var 를 사용
자동으로 undefined 라는 리터럴 값이 저장되어있음. -- error가 아니다.
단, 파이썬처럼 변수를 선언하지 않고 사용하는 것은 불가능 함 - error

	var v1;
	document.write("<li>"+ v1 +"</li>");
	document.write("<li>"+ typeof v1 +"</li>");
	document.write("<li>"+ (v1+10) +"</li>");
	v1 = 100;
	document.write("<li>"+ v1 +"</li>");
	document.write("<li>"+ typeof v1 +"</li>");
	document.write("<li>"+ (v1+10) +"</li>");
	v1 = true;
	document.write("<li>"+ v1 +"</li>");
	document.write("<li>"+ typeof v1 +"</li>");
	document.write("<li>"+ (v1+10) +"</li>");
	v1 = "가나다";
	document.write("<li>"+ v1 +"</li>");	
	document.write("<li>"+ typeof v1 +"</li>");
	document.write("<li>"+ (v1+10) +"</li>");
  • undefined 에 10을 더하면 NaN 값이 출력됨

  • 숫자와 boolean 형을 연산하면 true는 1 false는 0으로 계산됨

  • 숫자형과 문자열을 더하면 문자열로 계산됨

자바스크립트의 데이터 타입 체크

	document.write("<h2>"+ typeof 100 +"</h2>");
	document.write("<h2>"+ typeof 3.14 +"</h2>");
	document.write("<h2>"+ typeof '가' +"</h2>");
	document.write("<h2>"+ typeof "abc" +"</h2>");
	document.write("<h2>"+ typeof '100' +"</h2>");
	document.write("<h2>"+ typeof true +"</h2>");
	document.write("<h2>"+ typeof undefined +"</h2>");

데이터 타입 체크 시, typeof 연산자를 사용
-결과

for each 문

for(var i=0; i <10; i++){
	var rand = Math.random();// 0.0<= rand < 1.0
	console.log(rand);
	console.log(rand*10);
	console.log(Math.floor(rand*10)); // 소수점 이하를 날림
	console.log("-----------------------");

위 과정을 10번 반복함
이 때 주의 할 점은 자바스크립트에서는 블럭단위 변수가 존재하지 않는다는 것이다!

블록단위 변수를 쓰고 싶으면 for문 초기식에 var 가 아닌, let이라고 써야한다.

이때 document.write(i)를 하면 10이 출력되는걸 확인 할 수 있음

조건문

var num=window.prompt("채크하려는 숫자를 입력하세요.");
	if(isNaN(num) || num == '' || num == null ) {
		document.writeln("<span>숫자</span>를 입력해 주세요!!!");
	} else {
		num % 2 == 0 && document.writeln(num+"는 짝수");
		num % 2 == 0 || document.writeln(num+"는 홀수");
	}

처음 이 코드를 봤을 때 당연하다 싶으면서 좀 의아했다.
바로 && , || (논리 and, 논리 or) 연산자들의 역할이 좀 생소했기 때문
보통은 저기서 if문을 한 번 더 쓰거나 삼항연산자를 사용했을 것 같은데
왜 갑자기 논리연산자? 이런 생각이 들었기 때문

&& : 식이 모두 참이여야 참
|| : 전체 중 하나만 참이여도 참

자바스크립트에서는 이런 특성을 활용하여 &&는 앞의 식이 참이면 뒤의 식을 계속 수행하고 거짓이면 뒤의 식을 수행하지 않는다.

반대로 ||를 사용하면 앞의 식 거짓이면 뒤의 식을 수행한다.

이런 방식으로 if ~ else 문을 대신할 수 있다는 것

profile
Lv. 23

0개의 댓글