한 걸음/TS & JS
Typeof : 내가 사용하는 type이 무엇인지 알려주는 연산자. 거의 모든 원시자료형에서 작동한다. Number, boolean, string, undefined 등... 하지만, 아래 캡쳐와 같이 '배열(Array)[]'과 '객체(Object){}'를 모두 object로 출력하는 버그가 존재한다. 이는 typeof와 유사한 instanceof를 이용해서 해결할 수 있는데, 차이점이 있다면 instanceof는 원시자료형(string, boolean, number...)에서 작동하지 않는다는 것이다(어레이나 오브젝트 대신, primitive 자료형을 넣을 시에는 false를 반환함).
형 변환 Type conversion : 자바스크립트가 강제적으로 값을 변환시키는 것. 강제적 형변환은 코드 작성에 있어 피하는 것이 좋다. 아래 예시를 통해 플러스 연산자가 어떻게 형 변환을 일으키는지 살펴보자. 플러스 연산자는 '수학적 연산', '문자열 연결'의 2가지 기능을 수행한다. 위 예시 1, 2를 보면 +연산자로 인해 true는 1로, false는 0으로 형변환된 것을 확인할 수 있다(수학적 연산). 예시 3의 경우에는 "true"가 따옴표 안에 들어 있기 때문에 불리언이 아닌 문자열로 인식되어 2true라는 값을 출력하고 있다(문자열 연결). 예시 4의 경우, JavaScript는 코드를 왼쪽에서 오른쪽으로 읽어나가기 때문에, 1+2를 먼저 수학적으로 연산하고(3), 다음으로 true라는 ..
*값 유형(Value Types) 예시 [Step 1] 변수 a를 선언하고, 50이라는 숫자값을 부여했다. 그 다음 변수 b는 a를 바라보도록 선언했다. 그리고 b를 불러오면? 아래와 같이 결과는 50이다. [Step 2] 50이라는 값을 이미 가지고 있던 a에, 10이라는 다른 값을 덮어씌웠다. 그러면 a를 바라보고 있던 b는 어떻게 될까? 결과는 아래와 같이 여전히 50이다. 처음 가지고 있던 a값이 업데이트 되지 않았기 때문이다. *참조유형 예시(Reference Types) 값 유형과 참조 유형의 차이를 다음 예시로 알아본다. 배열 yellow를 선언하고 "하나", "둘"이라는 값을 넣는다. 그 다음 새로운 변수 red를 선언하고, 배열 yellow를 바라보도록 한다. 그리고 red(나중에 선언한..
-원시 자료형은 정수, 소숫점, 문자, 불린, NaN, Null, Undefined 등을 포함한다. -"(쌍따옴표), '(따옴표)를 사용하여 String 자료형을 나타낼 수 있다. -문자형 안에 쌍따옴표를 넣고 싶을 경우에는, 따옴표 안에 쌍따옴표를 넣어서 해결할 수 있다. -undefined와 null을 혼동하지 말자. 왼쪽 예시에서는 변수 first를 선언만 하고, 정의를 하지 않은 상태이기 때문에 undefined가 출력된다. 오른쪽 예시에서는 변수 second를 선언한 뒤, null값을 부여했기 때문에 null이 출력된다. -NaN은 수학적으로 숫자가 아니라는 오류임을 나타낸다. 참고 https://github.com/yjs03057/33-js-concepts https://www.youtube...
*Call stack이란? -자바스크립트가 함수 실행을 핸들링하는 방법 중 하나다. -자바스크립트는 함수를 스택(=쌓아올리는 것) 위에 올려서 실행하고, 실행한 뒤에는 제거하는 방식으로 동작한다. -콜 스택은 쌓아올린 덩어리라고 할 수 있다. -스택에는 올릴 수 있는 사이즈 제한이 있다(Maximum call stack size exceeded 오류가 나는 이유). 참고 https://github.com/yjs03057/33-js-concepts https://www.youtube.com/playlist?list=PL7jH19IHhOLMmmjrwCi7-dMFVdoU0hhgF