Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags more
Archives
Today
Total
관리 메뉴

난 정말 최고야 멋있어

ydkjs yet! Get Started - Chapter 2 요약정리 본문

카테고리 없음

ydkjs yet! Get Started - Chapter 2 요약정리

n00bh4cker 2020. 11. 3. 05:11

 

Each File is a Program

 - 제목이 곧 내용

Values

 - 자료형!!!

  1. 원시자료형(primitive) - 스트링, 넘버, 불린, 널, 언디파인드, 심볼

  2. 객체자료형(object) 배열, 함수, 딕셔너리 등등

 

중간 중간에 미세한 팁들을 얹어 줬는데..

 

스트링에선 백틱(`)은 인터폴레이션 할때만 ㅆㅓ라!! 글고 나머지 경우엔 큰따옴표나 작은따옴표중 하나로 통일하고..

(C# 에선 인터폴레이션하면 메모리 더먹는데 여기선 안그런지 모르겠다.. 관련 정보도 없고 ㅜㅜ)

 

타입오브(typeof) 설명하면서 널이 오브젝트로 나온다고 버그!! 라고 했는데

오늘 토론하면서 논의해보니 상당히 애매한 부분인 것 같음. MDN 문서에서도 오브젝트다 아니다가 나뉘고 있으니 ㅡㅡ;;

 

글고 오브젝트같은 경우 점접근 말고도 대괄호 접근도 있따

책에는 없지만..

점 접근이랑 괄호 접근의 차이는 괄호접근같은경우엔 스페이스바도 올수있고 뭐 다른 이상한것도 올수 있음

codeburst.io/javascript-quickie-dot-notation-vs-bracket-notation-333641c0f781

 

JavaScript Quickie— Dot Notation vs. Bracket Notation

What’s the difference? When is each useful? Learn the details in 3 minutes

codeburst.io

 

Declaring and Using Variables

  -var : function scope

  -let, const : block scope

  *추가로 const 는 재할당 금지

 

mutation과 reassignment 어쩌고 저쩌고 하는 부분이 포인터를 아시는 분들이라면 이름만 듣고도 뭔지 알거라 생각함..

 

여담으로 js 와는 관련없지만 프로그래밍 세계에서의 터부에 관한 재미있는 영상이 있읍니다..

www.youtube.com/watch?v=j0_u26Vpb4w&ab_channel=javidx9

Functions

함수.. 프로시져 어쩌고 저쩌고로 서두를 시작하는데

제 생각엔 함수냐 프로시져냐 그 차이가 중요한건 아닌거 같고

저자가 강조했듯이 함수가 주고 받기 가능한 객체라는게 중요한거 같음

(It’s extremely important to note that in JS, functions are values that can be assigned (as shown in this snippet) and passed around)

 

Comparisons

js 가 욕을 얻어먹는 == 과 === 에 대해서 설명함 ㅋㅋ

 

간단히 생각하면 == 은 값을 비교 ===는 값과 타입을 비교 한다고 생각하면 되겠으나..

 

=== 역시 NaN 과 -0 에 대해서는 비정상적으로 작동하니 얘네들에 대해서는 자제하라고 함( .isNaN 과 Object.is  쓰래요)

글고 오브젝트의 경우 레퍼런스로 비교하니 같은것도 달라보일수 있다고.. 이건 뭐 쉬우니 패쓰

 

논란이 많은 == , 형변환해서 같아질수 있으면 같게 취급!

이 녀석이 문제가 되는 이유는 단순히 === 쓰면 될거아니냐???!? 가아니고

<,>,<=,>= 등 다른 비교 연산자에서 이 녀석의 특징이 남아 있어서 그렇다고 함 ㅠㅠ

"9" > 10 은 false 지만 "9" > "10" 은 true 라고 ㅋㅋㅋ

 

How We Organize in JS

클래스와 모듈에 관한 설명들...

- 클래스 : 틀 new 로 인스턴스화 해주세용!!

    상속 가능!!!(extends 키워드) 부모 자식 기타 등등 (여기서도 super this 다 있슴다)

    다형성 : 오버라이딩 상속,,

- 모듈: es6 부터 본격적인 지원이 있었지만 그전에도 비슷한건 있었다고 함(비슷한 디자인 패턴을 본것같긴한데..)

 

* 클래식 모듈

function Publication(title,author,pubDate) {
var publicAPI = {
print() {
console.log(`
Title: ${ title }
By: ${ author }
${ pubDate }
`);
}
};
return publicAPI;
}

 

* esm 모듈 (es6 이후 지원)

  export 로 빼고 import {} from ""; 으로 가져오는 그거