- 코드의 끝에는 항상 세미콜론(;)을 침으로써,여기가 명령의 끝임을 알려주는게 좋다. 세미콜론과 치면 한줄에 코드를 다 작성할 수도 있긴 함.하지만 권장은 안한다 가독성이 떨어짐
- [error : Unexpected identifier] 무엇인가 넣어야되는데 안넣었을때 뜨는 에러
- 주석은 사람과 사람사이의 소통창, 코드에 대한 설명이 필요할때 사용. 주석은 코드와 코드 사이에도 넣을 수 있다.
- 주석안에 있는 코드는 컴퓨터도 무시를 하고 실행시키지 않는다. 여러개의 코드를 적어놓고 주석처리를 해둔 다음에 요리조리 바꿔가면서 실행시켜 볼 수도 있음
- 들여쓰기는 안해도 되지만 왠만하면 습관으로 만들기
#자바스크립트 자료형
- 프로그램이 조작할 수 있는 데이터를 값(value)라고 부른다. 문자, 숫자, 불리안 등은 모두 값. 이런 값을 카테고리 형으로 분류한게 자료형이다.
- 문자열 : string. 자바스크립트에서 문자열은 반드시 따옴표''/""로 감싸줘야된다. 앞 뒤로 짝만 맞춰주면 됨
- 백틱도 문자열을 표현할때 사용이 가능. 백틱의 특징은 줄바꿈이 가능함(다른애들은 안됨)
- '' / ""에서도 줄은 바꿀 수 있다. \n을 문장뒤에 쓰면 줄바꿈이 된다.
- ' ' 사이에 아무것도 안쓰더라도 문자열로 취급된다.
- typeof 를 사용하면 자료형을 찾아볼 수 있다.
typeof '' //string
typeof 1212//number
- '' == ' ' 완전 붙힌 애와 ' ' 한칸 떨어진애랑은 다른 값이다 그래서 false가 뜬다. 띄어쓰기 갯수가 완전 같다면 true로 출력됨.
- 만약에 문자열 안에 따옴표를 사용하고 싶으면 어떻게 해야되지?
- 내가 쓰고싶은 애랑 다른 따옴표로 감싸주기.
"how're you>" //문자열안에 쓰고싶은 따옴표랑 겉 따옴표를 다르게 써주기
`how're you` // 벡틱으로 문자열을 감싸주기
- 하지만 죽어도 겉과 속에서 같은 따옴표를 써야겠다고 한다면 역슬래시를 사용하면 사용할 수 있음
'how\'re you?'// how're you로 출력
- 그럼 문자열안에 역슬래시를 쓰고싶다면? 역슬래시를 두번써주면 무시되지 않고 같이 출력된다.
'how\\are you' // how\are you 로 출력됨
#연산자
- 문자열도 +로 합쳐지기가 가능하다. '바나나' + '사과' 하면 바나나사과 출력
- 문자열끼리 합칠 때는 띄어쓰기도 따옴표 안에 다 넣어야 반영된다.
- 숫자형 : 숫자는 따옴표를 붙이지 않고도 사용가능.
- 지수표기법도 있음. 매우 큰 숫자나 소수점을 아래자리수가 많을 때 숫자를 표현하는 방법. e뒤에 나오는 숫자만큼 10의 거듭제곱을 하면 원래 숫자가 된다.
- 2진법, 8진법, 16진법 등도 표시가 가능하다. 얘네를 typeof 해보면 'number'라는 자료형을 알려준다
5e4; // 5 * 10000 = 50000
5e+4; // 5 * 10000 = 50000
5e-3; // 5 * (1/1000) = 0.005
0b111 // 이진법 표현으로 7
- 헷갈리는것 하나. NaN은 Not a number 라는 뜻이지만 얘는 자료형에서 숫자로 취급된다.
- 문자열을 숫자로 바꾸고 싶을때는 아래처럼 코드 작성하면 바뀜
parseInt('124') // 문자열에서 숫자로 자료형 변경
number('124') // 얘도 똑같이 작동함, 소수도 사용가능
parseFloat('3.14') // 문자열을 소수로 바꿈
- 항상 코드르 짤때는 내 감을 믿지말고 컴퓨터에 입력을 해보고 눈으로 보기.
parseInt('123') + 5 // 이렇게 하면 129라고 계산되어서 나옴
typeof parseInt('123') // "number"라는 타입으로 출력됨
- parseInt() 는 정수로 바꾸는거기 때문에 3.14 소수를 넣으면 값으로 3만 출력됨
- parseInt 와 number의 차이는? parseInt('3월')을 하게되면 3이라는 숫자만 뽑아서 숫자로 만들어주지만 number('3 월')하면 NaN로 출력된다.
typeof parseInt(prompt());
//prompt하면 브라우저에서 창을 띄어주고 거기에 값을 입력하면된다 //
- 불값(Boolean) : true와 false로 나뉘는 자료형. 얘는 문자열이 아니기때문에 따옴표로 감싸지 않는다.
- 자바스크립트에서는 같은 값끼리 비교했을때 false가 뜨는애가 있는데 그게 NaN = NaN // false로 출력. 앞으로 같은거 두개를 비교했는데 false라고 뜨면 그 값이 NaN이라고 생각하면 됨. 크기를 비교해도 false 가 뜸. 하지만 !=연산에서는 true가 나옴.
- 자바스크립트에서는 문자끼리도 비교가 가능하다.
- true > false 비교하면 true 가 더 큰게 true. 숫자로 바꾸면 true가 1, false가 0이기 때문.
- 문자열에서는 사전 순으로 크기가 비교된다. a보다 b가 크다. 사전 뒤로 갈수록 큰 값
- 문자의 번호를 알아보는 방법도 있다.
'a'.charCodeAt(); // 97나옴
'b'.charCodeAt(); // 98나옴
// 결론적으로 a<b 가 true가 되게 됨//
- 다른 자료형끼리 비교할 수도 있다. 문자랑 숫자의 크기를 비교하면 문자가 숫자로 변환됨
'3'<5 // true출력 3이 숫자로 변환되서
'abc' < 5 //false출력, abc를 숫자로 바꾸면 NaN이 된다. NaN의 비교는 false
0<true // true는 1이니까 이 비교는 true
- ==와 ===의 차이 : ===을쓰면 값 뿐만 아니라 자료형까지 비교를 해주기 때문에 더 정확한 값을 받을 수 있음. ==만 쓰면 형변환이 일어나서 '1'==1 이 true가 나오는 일이 발생한다. !=도 마찬가지로 형변환을 먼저 한 후 비교를하고 자료형까지 비교를 하려면 !==까지 쓰면됨. 자료형까지 비교하려면 문자3개를 써야된다고 기억하자
#논리연산자
- && 그리고/ || 또는
- 10>5 && 6<8 만약 이런 연산을 하는데 헷갈린다면 괄호를 쳐서 우선순위를 설정해주면 됨. ()가 언제나 가장 우선순위의 연산자다.
- 참을 거짓으로, 거짓을 참으로 만드는 연산자도 있다. 식 앞에 !를 붙이면 참인 값은 false, 거짓인 값을 true가 된다.
!true // false로 출력
!false // true로 출력
!!'a'; //true
- 대부분의 값은 불리안으로 변형했을 때 true가 되는데 false 로 나오는 애들도 있으니 얘네는 따로 기억해두자
- false, ''(빈문자열), 0, NaN, undefined, null 얘네는 무조건 외우자.
> !!false
< false
> !!''
< false
> !!0
< false
> !!NaN
< false
#빈 값과 null
- 반환할 결과값이 없을 때 undefined를 내보냄. console.log('hello world') 라고 치면 undefined가 밑에 딸려나오는데, 콘솔에 무언가를 출력하긴 하지만 그 자체로는 결과 값이 없기 때문에 undefined가 반환되는 것.
- undefined 는 불 값으로 형 변환을 시키면 false가 나옴. 하지만 undefiend가 false와 같은건 아니다.
- null 은 의도적으로 빈 값을 넣을 때 많이 사용. undefined와는 다른 자료형이다.
- null 은 fasle와 같지는 않다.
- null의 자료형을 typeof null로 확인해보면 결괏값으로 object가 뜨는 것을 볼 수 있음. 아주 유명한 자바스크리브이 버그다. 그래서 null 값을 확인하고 싶을대는 ===null을 사용해야된다.
- 왠만하면 ===을 주로쓰는게 낫다.
'Web Front-end 공부 > Java script' 카테고리의 다른 글
Js 상수(const)와 var (0) | 2022.05.20 |
---|---|
Js 변수 (0) | 2022.05.20 |
공부하기전 알아두면 좋은 것 (0) | 2022.05.19 |
생활코딩 Java script 2 (0) | 2022.05.17 |
생활코딩 Java script (0) | 2022.05.11 |
댓글