0. 데이터 = 타입 + 주소
데이터(값)을 다루기 위해서는
데이터를 저장해 둔 공간의 주소 + 데이터의 타입 이 필요하다.
1. 변수 (variable)
이름이 붙은 저장소
let : 변수 생성 선언
(오래된 let 으로는 var 가 있다.)
let message
//message 라는 이름을 가진 변수를 선언
* 같은 변수를 중복해서 선언하면 Error
- 변수 명명 규칙
1) 문자, 숫자, $, _ 만 사용할 수 있다.
2) 첫 글자는 숫자가 될 수 없다.
3) 예약어 (let class return function 등) 를 사용할 수 없다.
- 카멜 표기법 : myVeryLongName
- 변수 5종 세트 -
변수 이름 : 저장된 값을 식별 할 수 있는 고유의 값
변수 값 : 변수에 저장된 값
변수 할당 : 변수에 값을 저장하는 행위
변수 선언 : 변수를 사용하기 위해 컴퓨터에 알리는 행위
변수 참조 : 변수에 할당된 값을 읽어오는 것
- 변수 이름은 딱 봤을 때 이해할 수 있게 짓기
- 소속된 팀이나 자신만의 규칙을 지키기
2. 상수 (constant)
- const : 상수(변화하지 않는 변수)를 선언
- 재할당 할 수 없다.
- 이름에 대문자, _만 사용한다.
3. 자료형
1) 숫자형 (한계 -253 ~ +253)
일반적인 숫자, Infinity, -Infinity, NaN (계산 중 에러 발생)
2) BigInt형
숫자형으로 나타낼 수 없는 정수, 길이에 상관 없이 사용할 수 있다.
정수 끝에 n을 붙인다.
const bigInt = 1234567897654321234567898765432345678765432456n
3) 문자형
큰 따옴표 " " 작은 따옴표 ' ' : ${표현식} 넣을 수 없다.
큰 따옴표와 작은 따옴표는 같다. 구분하지 않는다.
역따옴표, 백틱(backtick) `` : ${표현식} 넣을 수 있다.
4) 불린형(논리 타입)
True 긍정
False 부정
5) null 값
존재하지 않는 값. nothing
비어있는 값. empty
알 수 없는 값. unknown
6) undefined 값
값이 할당되지 않은 상태
- 변수는 선언했지만 값을 할당하지 않았다면 자동으로 undefined 할당
- undefined 를 직접 할당하는 걸 권장하지 않는다.
7) 객체형
복잡한 데이터 구조를 표현할 때 사용
8) 심볼형
객체의 고유 식별자를 만들 때 사용
4. 형변환(type conversion)
타입 ( 바꾸고 싶은 것 )
- 불린형 형변환 : 뭔가 없는 것은 false 아무거나 있으면 true
(단, 문자열 "0" ," " 은 true)
(숫자형으로 변환 시 undefined는 NaN)
5. 기본 연산자
피연산자(operand) = 인수(argument) : 연산을 수행하는 대상 ( 5 * 2 에서 5와 2)
단항(uanry) 연산자 : 한 개의 피연산자만 받는 연산자 : - (대표적으로 마이너스가 있다)
이항(binary) 연산자 : 두 개 이상의 피연산자를 받는 연산자
+ 덧셈 연산자 (문자열도 연결할 수 있다) (숫자가 아닌 피연산자를 숫자형으로 변화 ex: +true = 1)
- 뺄셈 연산자
* 곱셈 연산자
/ 나눗셈 연산자
% 나머지 연산자
** 거듭제곱 연산자 (ex: a**b = a를 b번 곱한 값
% 나머지 연산자(remainder operator): 나눈 후 나머지(remainder)를 정수로 반환
= 할당(assignment) 연산자
복합 할당 연산자 += *=
n = 2
n += 5 와 n = n+5는 같다
++ 증가(increment) 연산자 = 변수를 1 증가
-- 감소(decrement) 연산자 = 변수를 1 감소
(변수에만 쓸 수 있다.)
비트연산자(bitwise operator) : 인수를 32비트 정수로 변환하여 이진 연산을 수행한다
& 비트 AND
| 비트 OR
^ 비트 XOR
~ 비트 NOT
<< 왼쪽 시프트 (LEFT SHIFT)
>> 오른쪽 시프트 (RIGHT SHIFT)
>>> 부호 없는 오른쪽 시프트 (ZERO-FILL RIGHT SHIFT)
, 쉼표 연산자
마지막 표현식의 평가 결과만 반환된다. (우선순위가 매우 낮다)
let a = (1 + 2, 3 + 4)
alert ( a ) // 7을 반환한다.
6. 비교 연산자
>
<
<=
>=
상식과 같게 쓰인다.
== 동등 (a = b 는 할당! 주의!) (0과 false 와 " " 를 구별하지 못한다)
=== 일치 연산자 (strict equality operator) : 형 변환 없이 값을 비교
!= 부등 (같지 않음)
- 문자열 비교
사전편집(lexicographical)순 : 사전 뒤쪽의 문자열은 앞쪽의 문자열보다 크다
alert ('Z'>'A') //true
alert ('Glow'>'Glee') //true
비교하려는 값의 자료형이 다르면 자바스크립트는 이 값들을 숫자형으로 바꾼다.
undefined 는 다른 값과 비교 불가능!
7. 논리 연산자
|| OR
(첫 번째 truthy 를 찾을 수 있다 = 가장 첫 번째 true 값, 1은 truthy)
&& AND
(첫 번째 falsy 를 찾을 수 있다 = 가장 첫 번째 false 값)
! NOT
(피연산자를 불린형(true, false)로 변환한다. )
8. typeof 연산자
typeof x
typeof(x) 함수
로 사용
인수의 자료형을 반환한다.
null 의 typeof 연산은 "object" (언어상 오류, null은 객체가 아니기 때문)
스파르타 코딩클럽 내일배움캠프 사전캠프 자료
javascript handbook 에서 발췌
목표량 달성! 신난다.
'학습 내용 정리 > javascript' 카테고리의 다른 글
javascript 3. 배열과 반복문 (1) | 2023.05.03 |
---|---|
javascript 2. 조건문 if switch (1) | 2023.05.02 |
javascript 0. 환경 설정 및 코드 구조 (1) | 2023.05.02 |
Javascript JQuery Fetch 기초 : 스파르타 코딩클럽 웹개발 종합반 2주차 (1) | 2023.04.27 |
Java JavaScript 차이 (1) | 2023.04.26 |