Programming/JavaScript

Udemy The Web Developer Bootcamp Section 14 정리 | Javascript 기초

자히Zahi 2024. 11. 20. 12:51

* 이 글은 필자가 자신이 배운 내용을 정리하기 위한 것이며, 결코 Udemy 강의를 결제하지 않은 타인의 학습을 고려하여 작성되지 않았습니다.

* 이 글을 학습에 활용하기를 원하신다면, Udemy에서 '【한글자막】 The Web Developer 부트캠프 2024' 강의를 구매하시는 것을 권장드립니다.

 

 

야호 드디어 자바스크립트다!

python에서 print("Hello, World!")만 치면 되던 편한 시대가 가고 자바스크립트의 암울한 시대가 도래했다...

그러면 신나고 암울하게 자바스크립트 기초를 배워보도록 하자.

 

 

javascript의 기본 요소는 , 문자열, boolen, Null, Undefined가 있다. 이 외에도 BigInt와 Symbol이라는 게 있다고는 하지만, 우리는 말 그대로 '기초'를 배우고 있으므로 넘어가도록 하자.

 

 

숫자

5 + 5 // 10
5 - 5 // 0
5 * 5 // 25
5 / 5 // 1
5 % 2 // 1
5 ** 5 // 3125

 

연산할 때 사용되는 부호는 python과 같다. +는 덧셈, -는 뺄셈, *는 곱셈, /는 나눗셈, %는 나머지, **는 제곱을 뜻한다.

연산순서도 알려주는데, 괄호>제곱>곱하기=나누기>더하기=빼기이다. 그런데 이건 제곱을 제외하면 초등학생 때 배우지 않나?

참고로 //는 javascript에서 주석을 넣을 때 사용하는 기호이다. python의 #과 같은 느낌으로, 한 줄 주석을 넣을 때 사용한다.

 

javascript는 한 변수에 무한대의 공간을 허락하지 않기에, 1.9999999999999같은 수를 입력하면 2로 대체된다. 정확한 원리는 모르겠다만, 혹시 모르니 알아두도록 하자.

 

NaN(Not a Number)이라고 하는, 숫자지만 숫자가 아닌 것이 javascript에는 존재한다. 이게 뭔 소리야? 싶겠지만

n / 0(이때 n은 자연수)와 같이 실제로 존재할 수 없는 수이지만 수 사이의 연산이므로 결국은 수... 로 취급되는 것들을 NaN이라고 한다. 0/0의 type은 javascript에서 "number"로 취급된다. (typeof를 사용하면 알 수 있다.) 이 외에도 5를 "사과"로 나누는 등의 기괴한 행동을 하면 NaN을 볼 수 있다. 당연히 NaN과 다른 수 사이의 연산을 해도 NaN이 나온다. 의외로 자주 볼 수 있다고 한다. (볼 일이 없으면 좋겠지만)

 

 

변수를 정의할 때에는 let 함수를 사용한다.

//code
let age = 23;

 

이렇게 하면 age라는 변수가 생성되고 변수 안에 23이라는 값이 들어간다.

강의를 보니 javascript에서는 camel표기법(applePie와 같이, 첫 번째 글자를 제외한 단어의 첫 머리에 오는 글자를 대문자로 표기하는 방식.)을 사용하는 것 같다. 예전에 읽은 책에서도 camel 표기법을 사용한다고 했던 것 같으니 그냥 쓰자.

 

변수를 처음 선언할 때에만 let을 사용하면 되고, 그 이후에 추가로 값을 수정할 때에는 생성되었던 변수 명을 그대로 사용하면 된다.

//code
let numApple = 3;
numApple = numApple + 1;

 

이런식으로 할 수 있다는 뜻이다.

참고로 여기에 있는 두 번째 줄(주석 제외)은 

//code
numApple += 1;

 

과 같이 짧게 나타낼 수 있다. python을 배워본 사람이라면 친근히 받아들일 수 있을 것이라 생각한다.

 

전위증가와 후위증가는 햇갈리기 쉬운 연산자이다.

예를 들어, 값을 올려야 할 변수가 i라고 할 때 우리는 '++i'나 'i++'로 그 값을 올릴 수 있다. 이 둘의 결과는 같다. i = i + 1이 되어 i의 수가 1 증가한다. 그렇다면 뭐가 다를까?

++i 는 i의 값에 1을 더해 즉시 사용하는 것이다. i++는 i의 값을 사용한 후에 i의 값에 1을 더하는 것이다.

//code
let i = 5;
let result = i++;

 

를 하면 result 안에는 5가 들어있고, i에는 6이 들어있게 된다.

 

const는 constant, 즉 상수의 줄임말로, let 대신 사용해 특정 값을 정의함으로써 상수를 만들 수 있다. 상수이므로 값을 수정하는 것이 불가능하다.

var은 let과 비슷하지만 현재에는 거의 사용되지 않는, 옛 방식의 변수 선언 방법이라고 한다. 만약 다른 사람의 코드에서 발견한다면 let처럼 이해해도 될 것 같다. (강의에서는 완전히 let과 같지는 않다고 하지만, let과 별 차이가 없다고 한다. 결론 : 무시해도 괜찮음.)

 

Boolen(불리언)값은 'true'와 'false'만 존재한다. True가 아니라 true이다. 햇갈리지 말자.

javascript에서는 변수의 type을 숫자에서 문자열로, 문자열에서 불리언으로 바꿀 때 문제 없이 바꿀 수 있다고 한다. 물론, const로 정의되지 않았다면 말이다.

 

javascript에서는 변수 명에 띄어쓰기가 있으면 안된다는 것과, 불리언 변수를 만들 때에는 isGameOver처럼 앞에 is를 붙일 것을 권장한다는 내용으로 강의가 끝난다. 물론 중간중간에 간단한 문제도 있었지만 말이다.

 

 

초반에 문자열 관련 얘기를 아주잠깐 (문자열이라는 게 있다 정도로) 했는데, 다음 섹션이 문자열이니 잠깐만 기다리자.

그러면 이번 글은 여기서 끝. 파이팅!