<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
#wrap {
width: 90%;
margin: auto;
padding: 10px;
}
table {
width: 100%;
border: 2px black;
border-style: dotted;
}
tr,
td {
border: 2px red;
border-style: inset;
font-style: italic;
font-family: Verdana, Geneva, Tahoma, sans-serif;
text-align: center;
}
.first {
width: 5%;
}
.second {
width: 10%;
}
</style>
</head>
<body>
<div id="wrap">
<table>
<script>
for (var y = 1; y <= 10; y++) {
document.write("<tr>");
for (var x = 1; x < 10; x++) {
if (y == 1) {
if (x == 1) {
document.write("<td></td>");
}
else if (x > 1) {
document.write("<td>" + x + "단" +"</td>" );
}
}
else if (y > 1) {
if (x == 1) {
var i = y-1;
document.write("<td>" + i + "</td>");
}
else if (x > 1) {
var result = x + " x " + y + " = " + x * y;
document.write("<td>" + result + "</td>");
}
}
}
document.write("</tr>");
}
</script>
</table>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
var retry = confirm("retry?");
// document.write(retry);
var kor = prompt("kor", "input kor grade");
var eng = prompt("eng", "input eng grade");
var math = prompt("math", "input math grade");
var sum = Number(kor) + Number(eng) + Number(math);
var avg = sum / 3;
document.write("sum : " + sum + "<br>" + "avg : " + avg);
</script>
</head>
<body>
</body>
</html>
동적 타입
JavaScript는 느슨한 타입(loosely typed)의 동적(dynamic) 언어이다. JavaScript의 변수는 어떤 특정 타입과 연결되지 않으며, 모든 타입의 값으로 할당 (및 재할당) 가능하다.let foo = 42 // foo가 숫자 foo = 'bar' // foo가 이제 문자열 foo = true // foo가 이제 불리언
JavaScript의 타입
JavaScript 언어의 타입은 원시 값과 객체로 나뉜다.
- 원시 값 (언어의 최고 로우레벨에서 직접 표현되는 불변 데이터)
객체를 제외한 모든 타입은 불변 값(변경할 수 없는 값)을 정의한다. 예를 들어 (C 언어와는 달리) 문자열은 불변하다. 이런 일련의 타입을 "원시 값"이라고 한다.
- Boolean 타입
논리 요소를 나타내며 true와 false 두 가지의 값을 가질 수 있다.- Null 타입
Null 타입은 null 하나의 값만 가질 수 있다.- undefined 타입
값을 할당하지 않은 변수는 undefined 값을 가진다.- Number 타입
ECMAScript는 Number와 BigInt 두 가지의 내장 숫자 타입을 가지고 있다.
Number 타입은 배정밀도 64비트 이진 형식 IEEE 754 값(-(2^53 − 1)부터 2^53 − 1까지의 수)이다. Number 타입은 부동소수점 숫자 외에도 +Infinity, -Infinity, NaN("Not a Number") 세 개의 상징적인 값을 가진다.
±Infinity 범위 내에서 가능한 가장 크거나 작은 수를 확인하려면 Number.MAX_VALUE와 Number.MIN_VALUE 상수를 사용할 수 있다.- String 타입
JavaScript의 String 타입은 텍스트 데이터를 나타낼 때 사용한다. String은 16비트 부호 없는 정수 값 "요소"로 구성된 집합으로, 각각의 요소가 String의 한 자리를 차지한다. 첫 번째 요소는 인덱스 0에, 그 다음 요소는 인덱스 1, 그 다음은 2, ...이다. String의 길이는 그 안의 요소 수와 같다.
C 언어와 같은 일부 프로그래밍 언어와 달리 JavaScript 문자열은 불변하다. 즉 문자열을 생성한 후 바꾸는 것은 불가능하다.
그러나 원본 문자열을 사용해 새로운 문자열을 생성하는 것은 가능하다. 예를 들어,원본 문자열에서 각각의 문자를 선택하거나 String.substr()을 사용해 생성한 부분문자열
연결 연산자(+)를 사용하거나 String.concat()을 사용해 두 개의 문자열을 합친 결과물- Symbol 타입
Symbol은 고유하고 변경 불가능한 원시 값이며 객체의 속성 키로 사용할 수 있다. 어떤 프로그래밍 언어들에선 "아톰"이라고 부르기도 한다.- 객체 (속성의 컬렉션)
식별자로 참조할 수 있는 메모리 상의 값을 말한다.
typeof 연산자는 피연산자의 평가 전 자료형을 나타내는 문자열을 반환한다.
typeof operand
typeof(operand)
JavaScript
Number()함수를 사용하여 JavaScript에서 문자열을 숫자로 변환
parseInt()함수를 사용하여 JavaScript에서 문자열을 정수로 변환
Math객체를 사용하여 JavaScript에서 문자열을 정수로 변환
Java
valueOf() 메서드는 특정 객체의 원시 값을 반환한다.
object.valueOf('value');