취업에 좋은건 올바르게 변수명 짓는것
이것만 잘해도 팀프로젝트에 바로 투입될 수 있다.
재할당은 기존에 있던 데이터를 지우고
새로운 데이터를 넣는게 재할당
이다.
할당연산자 =
인데
우변 오른쪽에 값이 아무리 길어도 값으로 만들어서
좌변 왼쪽 변수에 담아준다.
함수선언
할 때
조건이 필요 없다면 const
로
만약 조건이 있다면 let
으로 재할당을 할 수 있게
참조형 타입 비교에서
객체는 리터럴이라는 단어 필수 메모
리터럴은 변하지 않는 상수의 형태로
heap
이라는 새로운 메모리에 데이터를 담아줌
let obj1 = { name: "John" };
let obj2 = { name: "John" };
console.log(obj1 === obj2);
주소끼리 비교하는데 서로 다른 주소가 나오니까 다른 값이다.
비교 연산자에서는
==
연산자는 지양해야 함
마찬가지로 const
-> let
으로 바꾸는 습관을
비교할 때도 ===
-> ==
으로 바꾸는 습관
자바스크립트는 단순하게
왼쪽에서 오른쪽으로만 읽는다
왔다갔다 하지 않는다.
console.log(0 && console.log("lol"));
이것의 값은 뭘까?
정답은 0
이 나온다
왜냐하면 &&
는 falsy
한 값이 오면 그 자체로 출력하고
truty
한 값이 오면 그대로 다음으로 간다.
즉 왼쪽에서부터 오른쪽에서 읽으니
0
이 falsy
니까 &&
를 만나면 그 오른쪽은 읽지 않고 끝이다.
만약 true
나 truety
하다면 오른쪽을 읽는 것이다.
falsy
한 값 6
개는 외워둬야 그 외는 truty
한 것을 알 수 있다.
console.log(!!{});
truty
나 falsy
를 확인하고 싶으면 앞에 느낌표 !!
찍어서 확인하는 방법도 있음
그냥 boolean()
로 강제로 변환시키는 방법도 있다.
논리부정 연산자(!)
는 boolean
타입을 변환합니다.
자바 스크립트는 3 < x < 10 이런식으로 표현안됨
논리 연산자가 꼭 필요함
연산자중에서 소괄호 중괄호 대괄호 이름은 외워둬야 한다
나머지는 그냥 이런 것들이 있다 정도
함수 몸통은 읽지 않는다
함수를 호출해야지만 그때 몸통
읽는다.
그리고 몸통에 들어가기전에 재료를 매개변수
로 값을 할당하고
매개변수
는 무조건 받는 변수입니다.
그런데 넘겨주는 걸 인자
라고 합니다.
매개변수로 할당되는 값을 인자라고 함.
함수를 읽는 방법은 그래서 위에서 아래로 읽는데
여기서 함수가 실행된다면 그 때 가서 읽는 것.
표현식 : 값으로 평가되는 자바스크립트 문장
선언식 : 변수에 할당할 수 있는 자바스크립트 문장
화살표에서 중괄호라는 블럭이 없다면
다이렉트 리턴한다고 생각하면된다
그러나 블럭이 있다면 return
을 꼭 써줘야 한다.
코딩을 할 때는 컴퓨터한테 하나씩 다 짚어줘야 한다...
if문
안에 있는건 true false
로 만들 필요 없다
내부적으로 truty falsy
로 바꿀 수 있다.
즉 truty falsy
를 판단하는거지true false
를 판단하는게 아니다.
snake_case
는 js
에선 사용하지 않고
camelCase
를 사용해라
근데 snake_case
는 변하지 않는 상수에서는 대문자형태로 많이 씀
PascalCase
는 react
넘어가면 많이 쓰게 됨 규칙임
안지켜도 돌아가는데 comment
를 왕창 받는다...
왜 코딩컨벤션이 중요한가
팀의 코드를 한 사람이 짠 코드처럼 느껴지게 하는데에 목적이 있음
변수명은 명수로 지어주면 매우 좋다
이건 왜냐면 함수명이 거의 동사로 가기 때문에
꼭 명확한 의미를 담아서 작성하기 조금 길어도 괜찮고 줄임말만 쓰지 않기
boolean
은 good
으로 쓰기보단 앞에 isGood
이런식으로 is
를 많이 붙이고
has
를 쓰는 경향도 있는데 ing
를 쓰는 방법도 있긴 함.
함수는 위에서 말했듯이 동사로 사용하기
복수표현에서 실수하는건 todo
는 단수형 변수에다 배열넣지말기
배열을 넣을거면 꼭 s
나 list
를 뒤에 복수를 표현하는 명칭을 붙여주기