변수 (variable)
: 데이터를 저장할 때 쓰이는 이름이 붙은 저장소
자바스크립트는 let 키워드를 사용해 변수를 생성
값이 변경되면 이전 데이터는 변수에서 제거 됨
let 대신 var ? ) var는 let과 동일하게 변수를 선언하는데 쓰임 다만 var는 오래된 방식임
*변수 사용법
1. 변수는 문자와 숫자, $와 _만 사용
2. 첫글자는 숫자가 될 수 없음
3. 예약어 사용할 수 없음
4. 가급적 상수는 대문자
5. 변수명은 읽기 쉽고 이해할 수 있게 선언
const
: 변화하지 않은 변수를 선언할 때 let대신 const를 사용함, 수정이 불가능함
ex ) PI, SPEED_LIMIT, BIRTH_DAY 등
*대문자와 밑줄로 구성된 이름으로 명명함
자료형
- 문자형
:문자열(string)을 따옴표로 묶음
: 따옴표 종류 3가지
1. 큰따옴표: ""
2. 작은따옴표: ''
3. 역 따옴표(백틱, backtick); ``
* 역 따옴표로 변수나 표현식을 감싼 후 ${...} 안에 넣어주면 원하는 변수나 표현식을 문자열 중간에 손쉽게 넣을 수 있음
let name = "minjoo";
alert( `Hello, ${name}!` ); // HEllo, minjoo!
// 변수를 문자열 중간에 삽입
alert( `the result is $(1+2)` ); // the result is 3
// 표현식을 문자열 중간에 삽입
- 숫자형
: 정수 및 부동소수점 숫자
: 곱셈 * , 나눗셈 / , 덧셈 + , 뺄셈 - 등
: 특수 숫자 값 infinity, -infinity, NaN
alert(1/0); //무한대
alert( Infinity ); //무한대
alert( "숫자가 아님" / 2); //NaN, 문자열을 숫자로 나누면 오류가 발생
- 불린형
: true(긍정) , false(부정)
: 비교 결과를 저장할 때도 사용
- null과 undefined
: 어느 자료형에도 속하지 않는 값
null = '존재하지 않는' 값 의미
undefined = '값이 할당되지 않은 상태 의미'
- 객체와 심볼
- typeof연산자
: 자료의 타입형을 알 수 있음
: 두가지 형태의 문법 지원 - 괄호 있든 없든 결과는 동일
1. 연산자: typeof x
2. 함수: typeof(x)
대화상자
alert () 알려줌
prompt() 입력 받음
confirm() 확인 받음
단점
1. 스크립트 일시 정지
2. 스타일링이 불가능함
형변환
String() -> 문자형으로 변환
Number() -> 숫자형으로 변환
*Number("문자") //NaN
*Number(null) // 0
*Number(undefined) //NaN
Boolean() -> 불린형으로 변환
* 0, " , null, undefined, NaN -> false
*Number(0) // false
Number('0') // true
Number('') // false
Number(' ')// true
자료형이 다르면? )
prompt입력 - > 문자형으로 입력받음
나누기는 숫자형으로 변환해서 계산해줌 -> 자동 형변환
* 명시적 형변환 : 원하는 타입으로 형변환
1. String() 문자형으로 바꾸어줌
2. Number() 숫자형으로 바꾸어줌
- Number(true) 는 1값을 가짐
- Number(false)는 0값을 가짐
3. Boolean() 불린형으로 바꾸어줌
false의 케이스만 기억
- 숫자 0
- 빈 문자열 ''
- null
- undefined
- NaN
=> 이외에는 모두 true
연산자
+ 더하기, - 빼기, * 곱하기, / 나누기, % 나머지
나머지(%)를 어디에 쓸까?
홀수: X%2 = 1
짝수: Y%2 = 0
X%5 = 0~4 사이의 값만 반환
거듭제곱
const num=2**3;
console.log(num); // 8
우선순위
* , / > + , -
비교 연산자 , 조건문
비교 연산자
<, > , <= , >= , == , !=
= 와 == 차이점)
a=3 // a에 3을 대입
a==3 // a의 값이 3인가 // false, true로 반환
a!=3 // a의 값이 3이 아닌가 // false, true로 변환
조건문
if문, else문
const age=30;
if(age > 19){
console.log('환영합니다');
} else if(age === 19) {
console.log('수능 잘치세요');
} else{
console.log('안녕히가세요');
}
*
'==' 연산자를 이용하여 서로 다른 유형의 두 변수의 값을 비교
'===' 는 엄격한 비교를 하는 것으로 알려져 있다 값& 자료형 비교
논리 연산자
|| (or) : 여러개 중 하나라도 true면 true / 즉, 모든 값이 false일 때만 false를 반환
&& ( AND) : 모든 값이 true면 true / 즉, 하나라도 false면 false를 반환
! (NOT) : true면 false, false면 true
https://www.youtube.com/watch?v=KF6t61yuPCY
https://velog.io/@filoscoder/-%EC%99%80-%EC%9D%98-%EC%B0%A8%EC%9D%B4-oak1091tes