코딩 어제시작한 초보
잘못된 부분이 있으면 알려주세요
모든 내용은 유투브 '코딩앙마' 님의 '자바스크립트 100분 완성' 을 들으며 공부한 것
기울임꼴은 내 생각
1. 변수
변수는 어떤 정보에 이름을 붙혀 사용하고 싶을 때 이용한다.
name = "Mike";
age = 30;
Mike라는 정보는 name이라는 이름을 가지고 30이라는 정보는 age라는 이름을 가진다
자바스크립트에서 문자는 항상 따옴표로 감싸져야 한다.
- '
- "
둘 다 이용 가능.
※ 그러나 자바스크립트에서 이미 사용하고 있는 것은 변수명으로 사용할 수 없다(예약어_ ex: class)
만약 같은 변수에 다른 내용이 선언된다면 마지막에 선언된 내용으로 덮어씌워진다
ex)
name = "Mike";
name = "pottato";
면 pottato로 덮어씌워진다는 소리
▶ 이를 방지하기 위해 있는 키워드
- let
- const
let 값을 바꾸고 싶으면 다음 위치 마지막 변수에서 let을 빼면 된다(마지막 값으로 선언됨)
그러니까...
let num = 10;
으로 선언했는데 num값을 13으로 바꾸고 싶다면
바꾸고 싶은 위치 다음 변수에서 let을 빼고
num = 13; 으로 하면 된다는 말
const는 절대로 바뀌지 않는 상수를 입력할 때 사용.
const로 선언된 변수를 바꾸려고 하면 에러가 일어남.
대문자로 선언하는게 좋다. 다른 개발자들에게 이게 상수라는 것을 알리기 위해
ex)
const PI = 3.14;
const BIRTH_DAY='1998-03-13';
※ 자바스크립트에서 변수를 선언할때 변하지 않는 값은 const, 변할 수 있는 값은 let으로 선언하는게 좋다
뒤에 나오겠지만 일단 const로 다 선언해놓고 바뀌는 값은 let으로 바꾸는것이 좋다고 하심
● 변수에 대해
- 변수는 문자와 숫자 $와 _만 사용한다
- 첫 글자는 숫자가 될 수 없다
- 예약어는 사용할 수 없다
- 상수는 가급적 대문자로
- 변수명은 읽기 쉽고 이해할 수 있게 선언
2. 자료형
문자는 3가지 방법으로 포장할 수 있다
- "
- '
- `(백틱) ~을 shift 안쓰고 누르면 나온다
큰따옴표와 작은따옴표는 차이가 없다.
만약 작은따옴표를 문자 안에 사용하고 싶다면 큰따옴표로 감쑤주는게 좋다
"My name is 'potato'"
작은따옴표만 사용해서 문자를 묶고 작은따옴표도 넣고 싶으면
/이거말고... 역슬래쉬를 앞에 넣어준다
왜 여기서는 안써지지
일단 / 로 작성
'My name is /'potato'"
이렇게
백틱(`)은 문자 내부의 변수를 사용할 때 편리하다
const message3 = `My name is ${name}`;
만약 이 const message3값을 보고싶으면
console.log(message3);
을 넣으면
나올 것이다.
let name = 'potato'
const message3 = `My name is ${name}`;
console.log(message3);
//
My name is potato
이렇게
+
typeof연산자는 변수의 자료형을 알아낼 수 있다
3. 대화상자
- alert : 알려줌
- prompt : 입력 받음
- confirm : 확인 받음
- alert() 메세지를 띄우고 사용자가 확인버튼을 누를 때 까지 띄워놓는다
- prompt() 사용자에게 값을 입력받을 때 사용된다
ex)
사용예시
const name = prompt('이름을 입력하세요.');
alert("환영합니다, " +name+ "님."); // 이 부분을 alert(`환영합니다, ${name}님.`)으로도 쓸 수 있을 것.
prompt는 두 개의 인수(함수 안의 값)을 가질 수 있다
prompt("예약일을 입력하세요." , "2020-11")
뒤는 디폴트값(뭔가를 안내하거나 힌트를 주기에 유용하다.)
confirm은 확인을 받을 때 자주 쓰인다
ex)
const isAdult = confilm("당신은 성인 입니까?");
한번 더 확인할 때 const realDelete = confirm("정말로 삭제하시겠습니까?");
단점
- 스크립트가 일시 정지하고 누를때마다 확인을 받아야 한다
- 스타일링이 불가하고 브라우저마다 모양이 다르다
4. 형변환
- String() 문자형으로 변환
- Number() 숫자형으로 변환
- Boolean() 불린형으로 변환
※ prompt 입력은 문자형이다
숫자형이 아니더라도(문자형이더라도) 나누기같은 표현식은 나눠짐
const noMatter = prompt("아무거나입력하세요")
console.log(noMatter)
라고 하면 입력한 내용이 뜨는데
const noMatter = prompt("나누기를해보자")
console.log(noMatter/2)
이렇게 쓰면 입력한숫자/2가 뜸.
prompt는 문자형이지만 나누기같은 표현식은 나눠진다는 것을 알 수 있다.
※ 입력란에는 6/3을 써도 2가 뜨지 않고 "6/3"이 결과로 도출됨
- 자동형변환 : 숫자형이 아니더라도 나누기 등의 표현식은 나누어지는 것
- 명시적형변환 : 자동형변환에 의한 에러는 찾기 힘들기 때문에 애초에 형을 맞춰주는게 좋다
※ 불린형변환
false만 알아두기
- 숫자, 0, 빈 문자열 "", null, undefinde, NaN
- 이 외에는 모두 true
- 주의사항
Number(nulll) // 0
숫자가 비어있다는 것(아무 값이 들어있지 않다) = 0이 나옴
Number(undefined) // NaN
Not a number. 정의되지 않는 값이나 표현할 수 없는 값. Number 타입의 값.
0을 0으로 나누거나
숫자로 연산할 수 없는 연사자를 이용할 때 나온다
** prompt에서 그냥 취소 버튼을 누르면 null이 할당된다
Number(0) // false
숫자 0은 false 값을 갖는다
Number('0') // true
'문자' 0은 true 값을 갖는다
Number("") // false
빈 문자열""은 false 값을 갖는다
Number(" ") // true
빈 " "문자열은 true 값을 갖는다. 비어있다는 것 자체가 문자로서의 역할을 하나?
5. 연산자
- 더하기 +
- 빼기 -
- 곱하기 *
- 나누기 /
- 나머지 %
- 거듭제곱 **
1. let num = 10;
2. num = num + 5;
3. num += 5
여기서 2번과 3번은 같은 말이다. 이 + 자리에 다른 연산자가 들어가도 된다
3. num은 자기자신에 5를 더하는 값을 num이라고 본다
● 증가연산자, 감소연산자
let num = 10;
let result = num++
console.log(result);
이렇게 코딩하게 되면 결과는 10이 나온다.
그 이유는 num 다음에 증가연산자가 들어갔기 때문
값을 11로 나오게 하고 싶으면
let num=10;
let result = ++num
console.log(result);
++num으로 바꿔야 한다.
일단 여기까지
처음에는 무슨소리인가 했는데 쑥쑥 이해된다
'✍ 공부 > JavaScript' 카테고리의 다른 글
Babel이란 무엇일까? (0) | 2022.04.17 |
---|---|
[ JavaScript ] 배열 무작위로 섞기 (0) | 2022.02.28 |
[프론트앤드 공부기록] Javascript 기초 4 (0) | 2021.08.16 |
[프론트앤드 공부기록] Javascript 기초 3 (0) | 2021.08.14 |
[프론트앤드 공부기록] Javascript 기초 2 (0) | 2021.08.13 |