[Javascript] 리액트 마스터가 되기 위한 빌드업 - 자바스크립트 스터디(1편)

한지원·2021년 9월 22일
0

조현영 님의 Let's get IT 자바스크립트 프로그래밍 책과 강의를 보며 처음 안 부분, 중요하다고 생각 된 개념들만 모아놓은 글입니다.

학교, 42서울 내에서 C를 위주로 프로젝트를 해내다보니 새로운 언어를 익혀야 할 기회가 그리 많지 않았다.
머신러닝 강의를 듣기 시작하면서 파이썬을 사용할 때 언어를 생각보다 빨리 습득할 수 있다고 느꼈기 때문에 자바스크립트도 그럴 줄 알았다.

웬걸 ㅋ 조현영님의 유튜브에 있는 자바스크립트 강의를 출근길에만 뜨문뜨문 봤더니 문법들을 볼때마다 새롭다.
자바스크립트 코드를 짤때마다 한 줄을 채우기 위해 구글링을 하는 것도 시간낭비인 것 같아서 자바스크립트책을 빠르게 훑고 손에 익히기로 했다.

📙2장 기본 문법 배우기

1장의 내용은 자바스크립트 코딩을 하기 위한 환경을 구축하는 부분이기 때문에 적지 않았다.

🌟자료형 확인하기

typeof 값

🌟문자열을 숫자로 바꾸기

  1. Number()
  2. parseInt(), parseFloat()
    문자열 -> 정수 parseInt(문자열)
    문자열 -> 실수 parseFloat(문자열)
    문자열 입력 받기 parseInt(prompt())
    진법 바꾸기 parseInt(정수, 진수) <-10진법은 기본적으로 정수가 해석되는 방법이기 때문에 생략해도 되는 것임.

parseInt()와 Number()의 차이점

  1. 매개변수에 문자열이 포함된 숫자를 넣었을 때 (문자로 시작하는 매개변수를 넣으면 둘 다 NaN을 반환한다)
    parseInt('3월')
    3

    Number('3월')
    NaN // NaN의 자료형은 Number이다.
  2. 소수점을 매개변수로 넣었을 때
    parseInt('3.14')
    3

    Number('3.14')
    3.14

즉 parseInt()는 문자열에 들어있는 숫자를 파싱해서 정수로 변환해주는 것에 충실하고 Number()는 문자열형태의 숫자를 Number자료형으로 변환해주는 것이지 문자열->숫자의 기능이 중점인 것은 아니다.

목적과 필요에 맞게 선택해서 사용하면 된다.

🌟무한 값 Infinity

Infinity라는 키워드는 무한대를 뜻한다. 자료형은 Number

🌟문자와 숫자의 연산(덧셈, 뺄셈)

'문자열' + 숫자값 = '문자열'

'string' + 0 = 'string0'
'1' + 0 = '10'

'문자열' - 숫자값 = 숫자

'string' - 0 = NaN
'9' - 4 = 5

문자열에서 숫자로 형변환을 하고싶다면 parseInt를 실행한 결과를생각해보면 된다.

🌟실수 계산하기 - 부동소수점 문제

0.3-0.1
0.19999999999999998

왜이럴까 ?

컴퓨터에선 숫자도 결국 0과 1로 표현되고 실수가 2진수로 바뀔 때 무한반복되는 실수가 생기기 떄문에 근삿값으로 저장되는 숫자가 있다.
이런 부동소수점 문제를 방지하기 위해 실수를 정수로 바꿔서 계산하고 이후 다시 실수로 바꿔주는 방법을 사용한다.
(0.3 * 10 - 0.1 * 10) / 10
0.2

🌟비교연산

NaN끼리 비교

NaN == NaN
false

NaN >= NaN
false

NaN != NaN
true

문자열끼리 비교

아스키코드값이 앞선 문자가 나오면 더 작다고 판별

문자열의 아스키코드값 알기
'a'.charCodeAt()
97

문자열과 숫자 비교

다른 자료형이 숫자로 형변환 후 비교연산이 실행된다.
'3' < 5
true

'abc' < 5
false //'abc'가 숫자로 형변환되면 NaN이기 때문에 결과는 false

'0' < true
true //true는 숫자로 형 변환시 1

🌟==와 ===의 차이

==는 자료형이 다를 때 형변환 후 비교연산을 진행하지만 ===는 값 뿐만 아니라 자료형도 같아야한다. (!=!==로!)

🌟자료형 - 빈값

자료형의 종류 - string, number, boolean, undefined, null, object, symbol
빈값을 나타내는 자료형 - undefined, null

undefined

반환할 결과값이 없을 때 출력되는 값이다.
예를 들어 console.log() 명령어를 사용했을 때 콘솔에 무언가를 출력하지만 그 자체로 반환 값이 없기 때문에 undefined가 반환된다.
typeof undefined
"undefined"

자료형의 불값 형변환 확인하기 - !!

!!undefined
false

undefined == false //undefined == false가 참은 아니다.
false

undefined == 0
false

undefined == ''
false

값을 할당하지 않은 변수, 함수가 값을 return하지 않을 때 사용

null

undefined == null
true

undefined === null
false

typeof null
"object" //버그임!

어떤 값이 의도적으로 비어있음을 표현할 때 사용

0개의 댓글

관련 채용 정보