예약어는 변수로 사용 불가
name = 'min' 으로도 변수에 할당 가능, 그렇지만 덮어씌워 지기 가능해짐
let name ='min'
let name ='jeong' 의 겨우 에러 발생함
다른 개발자가 아~ 변수이름 이미썻구나 하고 바꿈
const 는 절대 바뀌지 않는 상수, 수정하려면 에러발생
대문자로 선언하는게 좋음
자바스크립트에서 변수를 선언시
변하지 않는 값은 const, 변할 수 있는 값은 let으로 선언하기
변수명는 문자와 숫자, $와 _ 만 사용
첫글자 숫자 불가
예약어 불가
가급적 상수 대문자
변수명은 읽기 쉽고 이해하기 쉽게정하기
"i'm a boy"
'i\'m a boy'
`i'm a boy'

위 3가지가 같은 결과 나옴
나는 ${20+9}살 입니다null은 값이 존재하지 않음의미
undefined는 변수에 값이 할당되지 않을때 나옴

null은 object로 나오는데 사실 아니고(자스초기버전 오류, 하위호환 위해 수정안한댜)
undefined는 undefined라 나옴
다른 개발자꺼, api로 가져온거 변수 확인할때 사용
문자열이랑 숫자 더하면 문자열로 변환됨
'나이가' + 20 + '살입니다' ->'나이가 20살 입니다'
alert 알려줌
prompt 입력받음
confirm 확인받음
alert
사용자가 확인버튼 누를때까진 계속 떠있음
일방적으로 알리는 용도, 비번 틀렸다, 비번 필수값부족하다 등 알릴때
prompt

취소버튼 누르면 ? null값이 들어감(아무내용도 없다)
디폴트 값도 입력가능함

위와같이 두개의 인자를 받을 수 있음
뭔가 안내하거나 힌트줄때 유용함
사용자에게 확인받을때 사용(불리언값들어감)

alert은 확인버튼만 있고 저거는 취소 확인 두개 있음
확인을 누르면 변수에 true가 들어감
사용자 액션을 한번더 확인해줄때 사용

prompt 이용해서 수학, 영어 점수 입력받으면

점수 이상하게 나옴

왜 /2는 실행됨? -> 자동 형변환

자동 형변환은 원인 찾기 힘든 에러 발생시킬 수 있으니까
의도 가지고 원하는 타입으로 변환해주는게 좋음-> 명시적 형변환
String()


Number()

숫자가 아닌 문자열이 들어가있으면 NaN 출력

위의 경우 true는 1 false는 0의 값을 가짐



사용자에게 prompt로 나이 입력받는데 취소버튼 누르면 null 이 들어오니까
0으로 변환되겠네




더하기 외에 * - % / 식도 같은식으로 가능

위같은경우 증가연산자 사용햇는데 값이 10으로 출력됨
의도한대로 1을 증가시키려면 ++을 앞에 적음
앞에 적으면 증가시킨 값을 변수에 할당시킴
뒤에 적으면 증가시키기 전의 값을 변수에 넣음

a=3 a에 3을 할당시킴
a==3 a가 3과 같은가? -> 불린형반환
a!=3 a가 3과 다른가? -> 불린형반환


=== 쓰면 타입까지 비교해서 false나옴 //일치 연산자
가급적 일치 연산자 쓰기

추가 요구사항 있을때 else if






뒤에 아무리 길게 설명해도 남자라는 옳은 정보 발견하면 뒤에 신경쓰지도 않음

뒤에 아무리 길게 설명해도 거짓인거 하나 나오면 즉시 평가 멈춤, 뒤에 신경쓰지도 않음

만약 위와 같은 상황일때?

위와 같은 순서로 코딩하는것이 좋음
첫번째 평가에서 93%를 걸러낼 수 있으니까 시간 아끼기 좋음
첫번째 평가하면 100명중에 7명만 남으니 그중에서 평가하기에 데이터가 적으니까 빠르겠지





문자열인 숫자랑 비교해도 제대로 동작하네 ,,, !

돌아가를 의도했지만 통과가 나옴
and가 우선순위 라서
gender==='m' && name==='mike' 가 false이고
isAudlt 가 true라서 or 연산자 적용되어서 하나라도 true나왔기에
true나오고 통과

위 두개가 같은 의미가 됨

남자이고 동시에 이름이 마이크거나 성인이면 통과 를 의도한 대로 적용시킬라면 위와 같이 작성해야함
for

while

위 경우 무한반복


9까지 출력하고 i가 10이 되면 조건문을 만족하지 못하니까 while문을 빠져나오게 됨
do...while

while과 비슷한데 조건문을 아래로 옮김
일단 코드를 실행하고->조건을 평가
while은 조건을 평가하고 -> 코드를 실행 , 의 차이점이 있음
따라서 do while은 적어도 한번은 실행하는게 while과 큰 차이
break, continue(반복문을 빠져나가는 기능)

break는 반복문을 아예 빠져나와버림
continue는 코드실행을 멈추는건 동일하지만 반복문을 빠져나가진 않고
다음 스텝 진행(이번차례만 패스~)

위 코드는 break만날때까지 무한반복

i가 짝수이면 i%2가 0이되고 그럼 false니까 if문 안의 continue실행 안되고 아래의 console.log실행됨
i가 홀수이면 i%2가 1이니까 if문 실행되고 continue적용되서 출력안하고 다음으로 넘어감
->명확한 횟수가 정해져있으면 for문, 그렇지 않으면 while문
do while은 거의 사용 안함