자바스크립트 6

[JavaScript] 클로저(Closure) 2편

✏️ Closure에 대해서 조금 더 알아보자 예전에 자바스크립트 클로저에 대해 간단하게 글을 올린적이 있다. 오늘은 클로저에 대한 예시 코드를 조금 보며 정리를 하려고 한다. 사람마다 다르겠지만 클로저의 정의를 내린다면 나는 이렇게 말할 것 같다. "선언될 때의 환경을 기억하고, 실행의 종료된 함수 안에 변수에 접근할 수 있는 것" const getIncrementCountFunc = () => { let count = 0; return () => { return ++count } } const incrementCount = getIncrementCountFunc() incrementCount() // 1 incrementCount() // 2 incrementCount() // 3 getIncreme..

JavaScript 2022.10.27

[JavaScript] 클로저(Closure)

✏️ Closure란 무엇일까? 많이 헷갈리는 개념이다. 클로저.. 글로만 보면 정확히 어떤 개념인지 이해가 되지 않는다. 역시 코딩은 직접 해봐야해... 그래서 여러 글들을 보며, 직접 테스트 해보면서 겪은 점을 글로 써보려고 한다. 이해를 쉽게 하기 위해서 생성자 함수를 먼저 만들어보자. function MyName(name) { this._name = name; } 코보자 (코딩초보자) 였을 때는 위 함수가 뭐하는 함수인지도 몰랐다. 사실 몰라도 될 줄 알았다. 근데 공부하다 보니까 이런 개념이 궁금해지기 시작하면서...찾아보게 되었다. MyName.prototype.me = function () { console.log("my name is", this._name); }; 정의한 함수의 프로토타입..

JavaScript 2020.12.10

[JavaScript] Hoisting

✏️ Hoisting이란 무엇일까? 흘러흘러, 코딩의 코자도 모르던 시절, 국비지원 학원을 통해 취업을 했지만, 속성으로 배우고 취업해서 그런지 자바스크립트의 기본 원리에 대해서 잘 몰랐었다. 물론 시간이 지나면서 어느정도 알게 되었지만, 쓴이처럼 잘 모르시는 분들이 계실 수도 있을까봐 포스팅해본다. (이미 많은 포스팅이 있는 건 안 비밀) ✏️변수의 호이스팅에 대해 알아보자. 우선 코드를 하나 보자. var a = 1; console.log(a); 위의 콘솔은 어떤 결과를 리턴해줄까? 답은 당연히 1이다. 그렇다면 이번엔 어떨까. console.log(a); var a = 1; 변수를 선언하기 전에 변수를 호출해버렸다. 결과는 undefined... undefined 다른 코드도 보자. console...

JavaScript 2020.12.09

[TypeScript] 타입스크립트 익히기 2탄

✏️TypeScript 타입스크립트를 익히기 2탄 타입스크립트, 저번에는 기본 타입에 대해서 포스팅했는데, 오늘은 TypeScript에서 지원해주는 interface에 대해서 포스팅하고자 한다. 잠시 기본 타입에 대해서 짚고 넘어가면, const name: string = 'hoon' 위와 같이 선언하면 name에는 string 값만 받겠다는 뜻이고, 다른 타입이 들어갈 경우 name아래 빨간 줄이 그어지며 "해당 형식은 string 형식에 할당할 수 없습니다." 등의 에러 메시지가 보여진다. 타입을 지정해주는 것, 그게 타입스크립트다. 그러면, 저렇게 한 줄 코드가 아니라 여러 인자를 받는 함수가 있다고 가정해보자. const user:{ name: string, age: number, gender: ..

TypeScript 2020.12.08

[TypeScript] 타입스크립트 익히기 1탄

✏️TypeScript 타입스크립트를 익히기 1탄 타입스크립트, 예전에는 배워야 할까? 생각이 들었다. 고민만 하다가 타입스크립트 공부는 계속 뒤로 미루고 있었는데, 요즘들어 타입스크립트를 사용하는 곳이 많아짐을 알게되고, 왜 사용하는지를 찾아보게 되었다. 타입스크립트 관련 글들을 찾아보니, 에러를 방지하기 위한, 혹은 안정성을 위한, 협업을 위한 기타 등등의 많은 이유가 있었다. 타입스크립트를 배우기 전, 조사를 통해 느끼게 된 건 에러를 최소화 할 수 있다는 점과, 잘 사용한다면 동료간의 협업에 큰 도움이 될 것이라 느꼈다. 환경에 따라 혼자서 개발하는 분들도 계시지만, 다른 개발자들과 협업을 하는 입장에서 공통 함수나, 다른 개발자들이 만들어둔 기능을 사용할 때, 어떤 기능을 하는지, 어떤 파라미터..

TypeScript 2020.12.02

자바스크립트의 데이터 타입, 이론 1편

항상 인강으로만 공부하다가, 회사 동료가 자바스크립트 이론 책을 하나 빌려주어 책을 보게됐다. 책 제목은 '코어 자바스크립트' 로, 이론적인 부분에서 많이 도움이 된다고 하여 시작했다. 첫 시작은 자바스크립트의 데이터 타입에 관련한 내용이었다. 자바스크립트의 데이터 타입은 기본형, 참조형이 있는데 둘의 차이가 무엇인지의 내용이었다. 기본형은 불변형인데, 불변이라는 것은 변하지 않는다는 것인데 a라는 변수에는 여러 값들을 넣을 수 있다. var a = 'abc' 를 선언했다가, a = 'abcdef' 를 다시 선언하여 값을 바꿀 수 있는데 왜 불변이라고 할까? 먼저, a라는 값을 선언하면 메모리에서 공간을 확보한다. 그리고 해당 공간의 이름을 a라고 저장한다. var a = 'abc' 로 값을 넣을 경우 ..

JavaScript 2020.07.28