SeSac (2021-08 ~ 2021-12)/JS

Ch. 7~9 deep dive JS

배워도끝이없네 2021. 8. 19. 22:20

+는 산술연산자면서 문자열 연결 연산자이다.

= 는 할당 연산자

단항연산자는  전위연산자와 후위연산자를 잘 이해해야 한다.

ESLint에서는 단항연산자를 가급적이면 사용하지 않도록 하고있다

-> 이유는 오해의 여지가 있기 때문이다.

undefined는 속에 쓰레기 값이 있을 수 있기 때문에 연산하면 안된다.

코드를 짜고나서 첫번째 봐야하는것이 불필요한 코드가 있냐

두번째가 중복되는 코드가 있냐

 

!!를 쓸때는 언제일까

f에 어떤값이 들어왔는지 모르기 때문에 f의 타입을 !!f로 바꾸면 boolean으로 바꿀수있다.

 

단축평가에서 c&&d라면 true이지만 값이 리턴이 되는것이기 때문에 리턴이다

 

예전에는

const x=1,

          y=2,

          z=3

이런 방식으로 사용할 때가 있었지만 변수를 지우게 되면 , 연산자가 남아 에러를 이르킬 때가 있어서 지금은 사용하지 않는다.

 

리액트는 ES11까지도 구분이 된다. 근데 IE8, 9에 ES7을 포함하지 않기 떄문에 **연산자를 쓰지 않고 Math.pow를 쓰는 경우도 많다.

 

이제는 바벨이 ES6로 잡기 때문에 **를 쓰기가 어렵다.

 

오해의 소지가 있는 **연산자는 소괄호를 씌우는게 좋다.

 

var은 함수 스코프 let const는 블록 스코프이다.

 

swich문의 중요한 점.

많이 쓰는 case가 위로 가야 성능을 위해서 좋다.

 

정규식은 RegExp 혹은 reg라고 관례적으로 쓴다.

 

중괄호생략은 나중에 코드가 추가될 수 있기에 블록을 추가시키는게 좋지만

무조건 한줄에 끝나는 코드는 생략해도 좋다.

 

implicit은 예약어로도 많이 쓰이기 때문에 알고있으면 좋다(암묵적)

 

우리나라에서는 타입캐스팅이라고 많이 말하고 외국에서는 coercion이라고 많이 쓴다.

 

Symbol제외하고 대문자로 시작하는 함수는 오브젝트다.

 

자바스크립트는 프로토타입으로 상속을 한다.

 

모든 클래스는 Object의 자식이다

 

상속구조- object를 array클래스가 상속받는다.

 

arrays는 다른 오브젝트와 다르게 array안에서 toStrig을 다시 정의한다

그 안에서는 x.join(','); 로 정의해놓았다.

상속되는것들은 .prototype이라는것에 다 있다

object.prototype.toString을 내려주는것

 

목차에서 프로토타입 파트를 한번 읽어보는것도 좋다.

 

primitive type에 .toString이나 등등을 사용하면 임시로 객체타입으로 만들어준다. (그 라인에서만 오브젝트로 해준다)

 

null과 undefined에는 .으로 접근이 불가능하다(에러를 내보냄)

 

워닝이 아니라 에러가 난다는것은 프로세스가 중단된다는 것이다.

 

개발자들이 실무에서 가면 널뻑이라고 한다(널에다 머해서 에러나면 그렇게 부름)

 

이번주 토요일엔 자바스크립트의 역사랑 쉘스크립트 코드 리뷰 질문답변 토론 할 예정

 

 

'SeSac (2021-08 ~ 2021-12) > JS' 카테고리의 다른 글

13~17 deep dive  (0) 2021.08.31
자바스크립트의 역사  (0) 2021.08.28
ch12 deep dive 함수  (0) 2021.08.26
ch10~11 deep dive  (0) 2021.08.24
deep dive ch1~6  (0) 2021.08.17