== 와 ===의 차이점은 무엇일까?? 우리는 두표현이 양 변이 같다는 뜻인걸 이미 알고있다. 하지만 어떤 차이가 있고 왜 === 를 더 많이쓸까? 이유는 우리가 타입스크립트를 쓰는 이유와 같다. 조금 더 안전하고 정확한 코드를 작성하기 위해서 ===를 더 많이 사용하는것이다. 왜냐하면 == 는 문자"3"과 숫자3을 같다...
es5?, es6? 는 뭘까? 웹 프로그래밍 특히 프론트엔드를 배운다면 자바스크립트를 안 배울 수 없을 것이다. 배우는 과정에서 es5,6에 대해 못들어봤다면 아직 제대로 공부하지 않은거라고 말할 정도다. 그럼 도대체 es5,6는 무엇일까?? 우선 Es는 자바스크립트 표준 규격이다. 자바스크립트의 문법이 최신화 될때마다 ...
그냥 let과 const를 쓰자
node에 대한 지식이 아직 부족해 간단하게만 포스팅 하겠습니다.
null과 undefined의 차이!! null과 undefined는 둘다 값이 없음을 뜻하는데 둘의 차이점은 바로 개발자의 의도에 있다. null은 개발자가 의도적으로 비워둔,값을 주지않은 것 undefined는 변수,스테이트등에 값이 들어있지 않다는 것을 의미한다.
원시자료형과 참조자료형 자바스크립트의 자료형에는 원시자료형과 참조자료형이 있다 이 두개의 차이점에 대해 배워보자 원시자료형은 데이터가 메모리공간을 차지하고 데이터를 호출하면 해당 메모리 공간에서 데이터를 가져와 보여주는 것이다. 참조자료형은 공간을 가지고있는 메모리 공간의 주소를 가져와 그 주소를 보여주는 개념이다....
Hoisting // 호이스팅 호이스팅은 아주 간단하다. 자바스크립트는 싱글쓰레드 언어라 한번에 한줄씩 위에서부터 아래로 한줄씩만 작동한다. 하지만 호이스팅은 아래에있는 값,코드,함수등을 위쪽으로 끌어올려서 사용하게 해준다. 이는 장점처럼 보이지만 좋지만은 않은 방법이라고 한다.
얕은복사와 깊은복사 저번 포스팅에서 설명했던 원시자료형과 참조자료형의 심화 같은 느낌이다. 우리는 자바스크립트를 사용하면서 변수 혹은 변수안의 데이터를 복사해야 할 일이 있다. 그 복사를 하기전 생각해야하는 것이 얕은 복사와 깊은 복사이다. 원시자료형으론 문자,숫자,블린이 있고 참조자료형으론 객체,배열, 함수가 있다....
Scope?? 스코프는 생소하게 들리겠지만 이미 우리가 수도 없이 많이 사용하던 문법방식이다. 전역변수라던지.블록레벨로 나눈다던지 등등 이미 많이 접해보고 경험해봤을것이다. 다만 단어가 생소할 뿐 역사부터 설명하자. 자바스크립트는 es6이전까지는 함수레벨스코프를 따랏다. 하지만 지금은 let키워드를 이용해 블록레...
위처럼 코드를 짜도 함수 bbb안에 aaa가 선언되지 않았더라도 밖에 변수를 찾아 값을 가져오게되는 것이다. 이 점은 매우 유용하게 사용되니 꼭 알아두고 상식처럼 머리에 지니고 있어야한다.
재귀함수란? 재귀함수를 처음 접하고 들어봤다면 어렵게 느껴졋을거라 생각된다. 하지만 한줄한줄씩 따져가며 살펴보면 재귀함수는 어렵지 않다. 함수안에 함수를 만들어 안에있는 함수의 리턴값을 지금 실행하고 있는 함수를 호출하는 것이다. 위에 코드가 간단한 재귀함수이다. a함수의 리턴으로 recursive(1)을 주면 리커시브함수의 ...
콜백함수? 콜백함수란 무엇일까 콜백함수는 함수안에서 다른 함수를 호출하는 것을 말한다. 함수를 돌리고 있는데 긴 로직이 필요하다면 마치 컴포넌트처럼 로직만을 가지고 있는 함수를 불러와 인자값을 넣어주고 필요한 값이 나오는 로직을 돌려 답을 리턴하고 그 리턴값을 원래 함수에서 사용 하는 것이다. 로직이 어려워질수록 ...
observable이란 observable이란 단어는 지속적으로 관찰 가능한 이라는 뜻이다 말 그대로 변경될 때마다 변경된 값을 비동기적으로 제공하는 기능을 구현해 놓은 객체이다. observable의 특성 item을 여려개 만들 수 있다. item의 발행완료 이벤트를 방출할 수 있다. item의 발행 도중 에러가 발...
Reduce js메소드 중 하나인 reduce이다. 주로 for문에 연산이 들어갈때 많이 사용한다. 배열메소드이기때문에 사용하려면 배열이 필요하다. 알고리즘문제를 풀때에는 new array로 빈 배열을 만들고 .fill로 빈 배열을 채워서 사용한다. arr.reduce((acc,cur) ={ }, 기본값) ...
fallten 과 unflatten 이름그대로 평평하게 만드는것과 평평하지 않게 만드는 것이다. n차원 배열을 평평하게 만들어 주는것이 플래튼, 1차원 배열을 다차원으로 만드는 것이 unflatten이라고 한다. 굳이 라이브러리를 다운받지 않아도 가능하지만 바퀴를 다시 발명하지 말라는 말이있으니 라이브러리를 사용하자! 경력이 쌓인다면 ...