[JavaScript] 코딩앙마 기초(1)

Joy Ming·2023년 7월 1일

코딩앙마

목록 보기
4/13

변수

  • 예약어는 변수로 사용 불가

  • name = 'min' 으로도 변수에 할당 가능, 그렇지만 덮어씌워 지기 가능해짐

  • let name ='min'
    let name ='jeong' 의 겨우 에러 발생함
    다른 개발자가 아~ 변수이름 이미썻구나 하고 바꿈

  • const 는 절대 바뀌지 않는 상수, 수정하려면 에러발생
    대문자로 선언하는게 좋음

  • 자바스크립트에서 변수를 선언시
    변하지 않는 값은 const, 변할 수 있는 값은 let으로 선언하기

  • 변수명는 문자와 숫자, $와 _ 만 사용

  • 첫글자 숫자 불가

  • 예약어 불가

  • 가급적 상수 대문자

  • 변수명은 읽기 쉽고 이해하기 쉽게정하기

문자열

  • 문자열은 "", '', ``
    위 3가지로 표현가능

"i'm a boy"
'i\'m a boy'
`i'm a boy'

위 3가지가 같은 결과 나옴

  • 백틱 넣으면 문자로 인식
  • 'i"m a boy'//i"m a boy
  • 백틱안에 변수넣을때 쓰는 ${}이거 안에 표현식도 가능
    나는 ${20+9}살 입니다
  • 숫자 0으로 나누면 infinity 의 결과나옴
  • 문자열을 숫자로 나누면 NaN (NOT A NUMBER)

Boolean

  • console.log(age>40) //true

null, undefined

null은 값이 존재하지 않음의미
undefined는 변수에 값이 할당되지 않을때 나옴

type of 연산자

  • null은 object로 나오는데 사실 아니고(자스초기버전 오류, 하위호환 위해 수정안한댜)

  • undefined는 undefined라 나옴

  • 다른 개발자꺼, api로 가져온거 변수 확인할때 사용

  • 문자열이랑 숫자 더하면 문자열로 변환됨
    '나이가' + 20 + '살입니다' ->'나이가 20살 입니다'

alert, prompt, confirm

alert 알려줌
prompt 입력받음
confirm 확인받음

  • alert
    사용자가 확인버튼 누를때까진 계속 떠있음
    일방적으로 알리는 용도, 비번 틀렸다, 비번 필수값부족하다 등 알릴때

  • prompt

취소버튼 누르면 ? null값이 들어감(아무내용도 없다)

디폴트 값도 입력가능함

위와같이 두개의 인자를 받을 수 있음

뭔가 안내하거나 힌트줄때 유용함

  • confirm

사용자에게 확인받을때 사용(불리언값들어감)

alert은 확인버튼만 있고 저거는 취소 확인 두개 있음
확인을 누르면 변수에 true가 들어감

사용자 액션을 한번더 확인해줄때 사용

  • alert, prompt, confirm 특징
    스크립트 일시정지
    창 닫기 전에는 스트립트 일시정지
    스타일링 불가능 브라우저마다 디자인 다름
    기본메서드가 빠르고 간단하게 적용되는 장점

형변환

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

점수 이상하게 나옴

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

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

  • String()

  • Number()

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


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

  • Boolean()
    boolean 의 경우 다음 5가지만 false로 나옴
    나머지는 true

  • 요약

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

연산자 줄여쓰기

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

증가연산자, 감소연산자

위같은경우 증가연산자 사용햇는데 값이 10으로 출력됨
의도한대로 1을 증가시키려면 ++을 앞에 적음

앞에 적으면 증가시킨 값을 변수에 할당시킴
뒤에 적으면 증가시키기 전의 값을 변수에 넣음

비교연산자, 조건문

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

  • 동등 연산자(==) 이상하게 작동할때

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

가급적 일치 연산자 쓰기

  • 조건문

추가 요구사항 있을때 else if

논리 연산자




  • or

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

  • and

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

만약 위와 같은 상황일때?

위와 같은 순서로 코딩하는것이 좋음
첫번째 평가에서 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은 거의 사용 안함

profile
Back-end

0개의 댓글