반응형
1. 자료형(값의 타입)
- 자바 스크립트에서는 변수의 타입은 따로 없고 값의 타입만 있다.
- 숫자(Number)
- 정수와 실수를 구분하지 않음 - 문자열(String)
- 큰 따옴표와 작은 따옴표의 차이가 없음 - 불린(Boolean)
- true / false - 객체(Object)
- 자바와 다르게 클래스 없이 객체 만들 수 있음
- 여러 변수 혹은 메소드를 선언한 집합의 주소를 가지는 타입
- 필드 접근 시 .(마침표)을 사용 - undefined
- 타입이 정해지지 않은 것을 의미하는 값
- let num; --> 출력했을 때 undefined가 나옴 - null
- 주소값이 정해지지 않은 것을 의미하는 값
- let num = null; --> null로 변수를 초기화한 경우
- ` `(백쿼트) 사이에 엔터를 해서 변수에 넣으면 엔터를 포함한 문자열로 인식해서 저장되고 출력된다.
- 자바 스크립트에서는 자바와 다르게 문자열도 == 로 비교할 수 있다.
- 출력할 때 ` `(백쿼트)를 이용해서 손 쉽게 출력할 수 있다.
- `${변수}` 를 하게 되면 변수에 대한 값을 출력해 준다.
- a = 10 일 때, `a = ${a}` 로 출력하면 a = 10으로 출력되게 된다.
2. 형변환
- 자바 스크립트의 변수는 타입이 정해져 있지 않으며, 같은 변수에 다른 타입의 값을 다시 대입 가능
(typeof 값) --> 뒤에 오는 값의 타입을 반환
- 자동 형변환
- 다른 타입의 값이 오면, 자동으로 타입을 변환하여 사용
- 자바 스크립트는 자동 형변환이 자주 이용
1234567<script>let s1 = "20"let s2 = "10"s1 + s2 // 2010s1 * s2 // 200 --> 문자열 끼리의 곱셈연산은 불가하므로 숫자로 자동형변환 후 연산</script> - 강제 형변환
- 자동으로 타입 변환을 지원하지만 명시적으로 변환할 필요가 있을 때 사용
12345678<script>Number(값);String(값);Object(값);Boolean(값);parseInt(문자열); // 문자열을 정수로parseFloat(문자열); // 문자열을 실수로</script>
3. 연산자
== : 타입이 달라도 값이 같으면 참
!= : 값이 달라야 참
=== : 타입과 값이 둘 다 같아야 참
!== : 타입이나 값이 다르다면 참
1
2
3
4
5
6
7
8
9
10
11
|
<script>
10 == "10"; // true
10 === "10"; // false
10 == 10; // true
10 === 10; // true
10 != "10"; // false
10 !== "10"; // true
10 != 10; // false
10 !== 10; // false
</script>
|
cs |
4. NaN(Not a Number)
- 숫자로 변환할 수 없거나 계산이 불가능 한 것은 NaN으로 반환됨
console.log(10 * "Hello"); --> NaN
isNaN(값) : 숫자가 아니라면 참, 숫자면 거짓
1
2
3
4
5
6
|
<script>
isNaN(3) // false
isNaN("3") // false (자동형변환)
isNaN("") // false ("" --> 0 : 완벽히 0과 일치하는 것은 아님)
isNaN(" ") // false (" " --> 0 : 완벽히 0과 일치하는 것은 아님)
</script>
|
cs |
- "" 는 0으로 자동형변환된다. 하지만 0과 완벽히 일치하는 것은 아니다.
- " " 도 0으로 자동형변환된다. 하지만 0과 완벽히 일치하는 것은 아니다.
반응형
'웹개발 > JavaScript' 카테고리의 다른 글
[JavaScript] 함수(function) (0) | 2022.05.13 |
---|---|
[JavaScript] 배열(Array), 빠른 for문 (0) | 2022.05.13 |
[JavaScript] 대화상자(dialog), 제어문(조건문, 반복문), 간단한 예제 (0) | 2022.05.12 |
[JavaScript] 스코프, 호이스팅, 변수의 선언 방식 (0) | 2022.05.12 |
[JavaScript] 자바 스크립트(JavaScript)와 선언 및 출력 (0) | 2022.05.12 |