직접적인 개발에 들어가기 앞서 자바 스크립트를 공부해 보기로 했다. 유튜버 코딩앙마님과, 아래 사이트를 통해 자바 스크립트에 대해 대략적으로 배울 수 있었다.
링크텍스트
객체 기반의 스크립트 프로그래밍 언어로, 웹 브라우저 안에서 주로 사용된다. html 문서 안에 삽입되어 웹 브라우저가 여러가지 동작을 수행할 수 있게 하는 언어이다. html 문서 안에서 자바 스크립트는 script와 /script 태그 사이에 삽입된다.
자바 스크립트는 html 문서의 head나 body, 또는 둘 다에 위치 할 수 있다. 위에서처럼 script 태그 사이에 자바 스크립트를 위치시키면 된다.
자바 스크립트는 .js 확장자로 가진 파일로 대체될 수 있는데, 이때 src를 선언하고 파일의 url과 같이 적거나, 경로를 적거나, 또는 그냥 파일 이름만 적어서 .js 파일을 불러와 코드를 실행시킬 수 있다.
본격적으로 들어가기 전에, 자바 스크립트 예약어들을 숙지하고 들어가도록 하자. 이 예약어들은 변수명으로 쓰일 수 없다. 또한, 자바스크립트는 대소문자를 다르게 처리한다.
자바 스크립트의 변수는 기본적으로 역동적이다. 변수 안에 어떠한 자료형이든 담길 수 있다.
변수 선언할 때 쓰이는 let, var 와 상수 선언할 때 쓰이는 const 가 있다. (물론, 아무것도 선언 안하고 변수명만 써서 실행해도 된다. 그러나, 중복 및 덮어쓰기를 막기 위해서 let이나 var, const를 쓰는 것을 추천한다.) 문자형, 숫자형 구분 없이 변수명만 적거나 let, var, const를 앞에 선언해서 사용한다.
var, let이 앞에 선언되면, 변수의 값은 변경 가능하지만, const가 선언되면 상수가 되므로 값의 변경이 불가능하다. 변수명에는 대소문자, 숫자(맨 앞글자에 들어갈 수 없다), _, $가 있다.
또한 변수는 한번에 콤마(,)를 이용해서 여러 변수들을 선언할 수 있다.
const가 선언된 변수는 무조건 초기화 해 줘야 한다.
let value = 0;
value = 10; //가능
const value; //불가능
const value = 0;
세미콜론은 필수적으로 들어가지 않아도 되지만, 아래 코드처럼 각 코드를 구분하는 데 쓸 수 있으므로 코드가 끝날 때마다 쓰도록 하자.
(대충 let, var, const의 차이를 간략하게 나타낸 짤)
var은 let, const와 다르게 var을 선언한 상태로도 변수 값의 변경이 가능하다.
let 또한 값의 변경이 가능하나, let을 선언한 상태로 같은 변수의 값을 변경할 수 없다.
let은 블록 단위의 범위를 가진다.
중괄호 안에 쓰인 let 변수는 중괄호 밖에서 사용할 수 없다. 그렇기에 중괄호마다 같은 변수명으로 let을 사용해도 오류가 발생하지 않는다.
이는 const도 마찬가지다....^^(이 친구도 블록 범위를 가지고, 중괄호 안에 선언된 변수는 중괄호 밖에서 쓸 수 없다.)
그에 반해, var로 선언된 변수는 중괄호 밖에서도 사용 가능하다.
자바와 달리 정수와 소수를 굳이 구별 안해도 된다.
큰 따옴표를 쓰든 작은 따옴표를 쓰든 상관 없다.
따옴표 안에 숫자를 넣으면, 그 숫자는 문자열로 인식된다.
주의
따옴표 선언의 위치에 따라 나머지 숫자들도 모조리 문자열로 인식될 수 있으니 주의하도록 하자.
(진짜루....)
더하기(+)
빼기(-)
곱하기(*)
나누기(/)
나머지(%)
거듭제곱(**) = Math.pow(x,y)
우선순위 : *%/ > +-
연산자의 경우, 자동으로 형변환하여 계산한다.
++ -> 1만큼 증가
-- -> 1만큼 감소
++, --가 쓰이는 위치에 따라 연산 순서가 달라진다.
x++; -> 세미콜론 후(코드가 끝난 후) 1만큼 더해짐
++x; -> 바로 1만큼 더해짐
== : 타입까지 비교하지 않는다
===: 타입까지 비교한다
=== 쓰는것을 더욱 추천한다.
&&가 ||보다 우선순위가 더 높다!
변수의 자료형을 알아낼 때 쓰인다.
한줄만 주석처리할때
여러줄을 주석처리할때
변수에 값이 할당되지 않았을때 출력된다.
참고로, undefined 라는 값을 넣어서 아예 undefined 상태로 만들 수도 있다.
변수 carName을 선언하고, 어떠한 값도 할당하지 않았으므로 undefined가 출력된다.
값이 아예 할당되지 않았으므로, 자료형도 존재하지 않는다.
반면에, null의 경우 'null'로 값이 할당되어 있고, 자료형도 존재한다(object 형)
함수부터는 다음 포스트에 올릴 예정이다....많관부😎