자료형
5. 심볼형(Symbol)
- 유일하고 변경 불가능한 기본값을 만드는 타입이다.
- 객체 속성의 Key값으로 사용할 수 있다.
const symbol1 = Symbol("apple");
자바스크립트의 형변환
값의 타입을 변화시키는것
1. 자동 형변환(암시적, 묵시적)
숫자 + 문자열 ---> 문자열
10 + "20" ----> "1020"
10 + "" ----> "10"
숫자 - (숫자로 이루어진)문자열 ----> 숫자
10 - "20" ----> -10
10 * "20" ----> 200
10 / "20" ----> 0.5
10 * "Hello" ----> NaN
*NaN(Not a Number)
- 정의되지 않은 값이나 표현할 수 없는 값
- 숫자로 변환할 수 없는 연산을 시도한 경우
2. 강제 형변환(명시적)
자바 스크립트는 자동으로 형변환을 지원하지만 명시적으로 변환할 필요가 있을 때 사용하는 함수
Number() : 문자를 숫자로 변환
String() : 숫자나 불린 등을 문자열형으로 변환
Object() : 모든 자료형을 객체로 변환
parseInt() : 문자열형을 정수(int)로 변환
parseFloat() : 문자열형을 실수(float)로 변환
대화상자(dialog)
앞에 붙은 window. 은 생략이 가능
window.alert()
사용자에게 간단한 메세지를 보여주고 확인을 기다린다.
window.confirm()
사용자에게 간단한 메세지를 보여주고 확인이나 취소를 누르면 그 결과에 맞는 값이 반환(확인 : true / 취소 : false)
함수 사용부분 통째로가 true , false라는 값이다.
window.prompt()
사용자에게 간단한 메세지를 보여주고 사용자가 입력한 문자열 값이 반환
함수 사용부분 통째로가 사용자가 입력한 문자열 값이다.
연산자(Operator)
기능이 있는 특수문자 또는 단어
함수들, 키워드는 연산자가 아니다.
우선순위
한 문장 안에 다양한 연산자가 있을 때 먼저 연산하는 순위
최우선 연산자
단항 연산자
산술 연산자
쉬프트 연산자
관계 연산자
논리 연산자
삼항 연산자
대입 연산자
결합성
한 문장 안에 우선순위가 같은 연산자들이 있을 때
맞는 방향으로 결합되어 연산되는 성질
(1+2)+3+4
(3+3)+4
6+4
10
산술 연산자
a%b : 나머지연산자(a를 b로 나눈 나머지)
a**b : 제곱연산자(a의 b제곱)
비트 연산
1 bit : 컴퓨터 용량의 최소단위(0 또는 1이 담길 수 있는 공간)
1 byte : 8 bit / 데이터의 최소단위, 의미를 가지는 최소단위, 메모리의 최소단위
1024배씩 늘어남(1kB --> 1024Byte)
Kilo > Mega > Giga > Tera > Peta
17 > [1][0][0][0][1]
14 > [0][1][1][1][0]
AND(&) 논리곱 두 비트가 모두 1이라면 1, 아니라면 0
14 & 17 --> (2진법)01110 & 10001 --> (2진법)00000 --> (10진법)0
OR(|) 논리합 두 비트중 하나라도 1이면 1
14 | 17 --> (2진법)01110 | 10001 --> (2진법)11111 --> (10진법)31
XOR(^) 배타논리합 두 비트가 서로 다르면 1
14 ^ 17 --> (2진법)01110 ^ 10001 --> (2진법)11111 --> (10진법)31
NOT(~) 논리부정 비트를 0이면 1로, 1이면 0으로 뒤집어준다.
부호비트도 뒤집힌다.(양수 -> 음수, 음수 -> 양수)
~14 --> (2진법)~01110 --> (2진법)10001 --> (10진법)-15
~a = -(a+1)
a>>b 우쉬프트 a를 b만큼 우측으로 비트이동
17>>1 --> (2진법)10001 >> 1 --> (2진법)01000 --> (10진법) 8
a<<b 좌쉬프트 a를 b만큼 좌측으로 비트이동
17<<1 --> (2진법)10001 << 1 --> (2진법)100010 --> (10진법) 34
조건식
조건을 제시하는 식, 주장하는 식
결과가 참 또는 거짓 둘 중 하나로 나오는 식
관계 연산자로 만들어진다.
Boolean 타입
참을 나타내는 true 값 / 거짓을 나타내는 false 값
Boolean() : 문자나 숫자 등을 불린형으로 변환
관계 연산자
>, < : 초과, 미만
>=, <= : 이상, 이하
== : 같다(타입이 달라도 값이 같으면 true)
!= : 다르다(타입이 다르고 값이 같다면 false / 값이 다르고 타입이 같으면 true)
=== : 같다(타입과 값이 모두 같아야 true)
!== : 다르다(값, 타입 중 하나만 달라도 true)
논리 연산자
조건식들 간의 관계를 설정해주는 연산자
(A, B는 조건식으로 가정 - 양 옆에 true/false 값이 와야한다.)
A && B : 양 옆에 true값이 왔다면 true, 둘 다 true면 true
A || B : 둘 중 하나라도 true값이라면 true
단항 연산자
!A : 뒤의 결과가 true라면 false로, false라면 true로 변경
'Javascript' 카테고리의 다른 글
[Javascript] 프로토타입, 객체 (0) | 2021.12.20 |
---|---|
[Javascript] 객체 (0) | 2021.12.20 |
[Javascript] 배열, 함수 (0) | 2021.12.13 |
[Javascript] 제어문 (0) | 2021.12.13 |
[Javascript] 자료형 (0) | 2021.12.08 |