프로그래밍 이야기
-
[JavaScript] 자바스크립트 함수 선언식 vs 함수 표현식 차이 이해하기프로그래밍 이야기/JavaScript 공부 2020. 6. 4. 02:09
[JavaScript] 자바스크립트 함수 표현식(function expressions) 이해하기에서 함수 표현식에 대해서 살펴봤었는데, 그렇다면 함수 선언식(Function Declaration)과 함수 표현식(Function Expression) 사이에는 어떤 차이가 있는지 살펴보자. 차이 1 : 문법 가장 당연하고 우선된 둘의 차이는 문법의 차이다. 함수 선언식 함수 선언식은 일반적인 함수 선언을 말한다. 함수 선언식은 아래와 같은 문법으로 선언하고 호출할 수 있다. // 함수 선언문 function sayHi() { console.log('Hi!'); } // 함수 호출 sayHi(); 사실상 함수 선언문이라고 부르는 게 맞을 것이다. 하지만 함수 표현식과 비교를 하다보니 함수 선언문을 함수 선언식..
-
[JavaScript] 자바스크립트 var, let, const 차이 가볍게 이해하기프로그래밍 이야기/JavaScript 공부 2020. 5. 30. 00:54
자바스크립트에 변수를 선언하는 방식은 키워드 별로 3가지가 있다. var, let 그리고 const 이 셋이 각가 어떤 차이를 가지고 있는지 살펴보자. 1. 중복선언과 재할당 이 셋의 가장 큰 차이는 선언과 할당에 있다. 먼저, var 키워드는 중복선언이 가능하다. var myName = 'Bigtop'; console.log(myName); // Bigtop var myName = 'KimBigtop'; console.log(myName); // KimBigtop 혹시라도 중복이 가능하니 좋지않으냐고 생각할 수도있겠지만, 코드의 양이 늘어나고 복잡도가 높아질수록 변수의 중복선언을 허용하는 것은 이 변수 관리를 한층 더 어렵게 만든다. 그래서 이를 보완해 ECMA2015 부터 등장하게된 let과 cons..
-
[JavaScript] 자바스크립트 호이스팅(Hoisting) 가볍게 이해하기프로그래밍 이야기/JavaScript 공부 2020. 5. 28. 02:07
호이스팅도 스코프와 마찬가지로 이를 좀 더 명확하게 이해하려면 scope의 깊은 개념과 자바스크립트의 실행 문맥을 이해한 상태에서 살펴보는 것이 좋지만, 그런 부분을 이해하기에는 생각보다 많은 배경지식들이 필요하다. 하지만, 그냥 가볍게 호이스팅이 어떠한 현상인지 정도만 이해해도 코드를 작성하거나 다른 개념들을 이해하는 데에 생각보다 적잖이 도움이 되기에 이 포스트를 작성하게 되었다. 호이스팅(Hoisting)이란? 호이스트를 구글에 검색해보면, 위키백과에서 '호이스트는 로프 또는 체인이 감싸는 드럼 또는 리프트 휠을 사용하여 하중을 들어 올리거나 내리는 데 사용되는 장치입니다.'라고 알려준다. 이와 비슷한 의미로 자바스크립트에서는 선언문을 끌어올리는 동작을 호이스팅(Hoisting)이라고 부른다. 자바..
-
[JavaScript] 자바스크립트 스코프(scope) 가볍게 이해하기프로그래밍 이야기/JavaScript 공부 2020. 5. 26. 00:58
스코프(Scope)란? Scope. 자바스크립트에서 스코프는 우리말로 유효 범위라고 해석하는데, 유효 범위로 번역하는 글도 많이 있지만 그냥 한글 그대로로 스코프라는 용어를 상대적으로 더 많이 사용하는 것 같다. 아무튼 말그대로 어떤 값이 영향을 미칠 수 있는 범위를 스코프라고 말한다. 깊은 내용들을 다루려면 scope도 생각보다 심오하고 디테일하게 다룰 수도 있다는 걸 최근에서야 깨닫게 되었는데, 아직 확실하게 이해하는 경지에는 도달하지 못했기 때문에, 이번 포스트에서는 이후에 정리할 개념들을 이해하는데 도움이 될만한 수준의 스코프에 대해서만 가볍게만 다루고자 한다. 아무튼, 스코프는 크게 전역 범위(Global Scope)와 지역범위(Local Scope) 두 가지로 나뉜다. 코드를 살펴보자. let..
-
[JavaScript] 자바스크립트 함수 표현식(function expressions) 이해하기프로그래밍 이야기/JavaScript 공부 2020. 5. 23. 21:08
[JavaScript] 자바스크립트 콜백 함수(callback) 가볍게 이해하기에서 함수는 일급객체라는 말을 했었다. 그리고 일급객체의 특징을 몇 가지 정리했었는데 결론적으로는 자바스크립트의 함수는 특별한 종류의 값으로 취급될 수 있다는 것이었다. 함수 표현식(function expressions)이란? 다음 코드를 살펴보자. let sayHello = function() { console.log("Hello!"); }; 이렇게 어떠한 표현식에 함수를 선언하는 방식을 함수 표현식(function expressions)이라고 한다. 값으로써의 함수 위의 코드를 보면 hello를 콘솔에 출력하는 함수를 sayHello라는 변수에 할당했다. 함수가 sayHello라는 변수에 값으로 할당된 것이다. 이렇게 변수..
-
[JavaScript] 자바스크립트 콜백함수(callback) 가볍게 이해하기프로그래밍 이야기/JavaScript 공부 2020. 5. 19. 19:53
자바스크립트의 함수는 일급 객체다. 처음 접하는 사람에겐 다소 생소할 수 있는 용어다. 궁금하다면 일급객체를 좀 더 찾아 볼 수 있겠지만, 간단하게 자바스크립트에서 함수는 1. 변수나 데이터안에 담길 수 있고 2. 매개변수로 전달 할 수 있고 3. 반환 값으로 사용할 수 있고 4. 실행도중에 생성될 수 있다 정도의 특징을 기억하면 좋을 것 같다. 콜백함수는 이 중에서 두번째 특징을 활용한 내용이다. 콜백함수란? 콜백함수는 간단하게 다른 함수에 매개변수로 넘겨준 함수를 말한다. 매개변수로 넘겨받은 함수는 일단 넘겨받고, 때가 되면 나중에 호출(called back)한다는 것이 콜백함수의 개념이다. function checkGang(count, link, good) { count < 3 ? link() : ..
-
[JavaScript] 자바스크립트 함수(Function) 이해하기프로그래밍 이야기/JavaScript 공부 2020. 5. 18. 00:37
프로그램을 작성하다 보면 일정한 동작들을 여러 번 반복해야 될 때가 있다. 한 순간에 똑같은 동작을 반복해야한다면 반복문을 활용하면 되지만, 특정한 지점에서 필요할 때 순간순간 동작하길 원한다면 함수를 활용하면 된다. 그동안 계속해서 사용하던 console.log도 함수인 것이다. 함수 선언 함수선언은 다음과 같이 하면 된다. function 함수명(매개변수) { 함수본문 } 1. function이라는 선언자를 작성한 다음 2. 함수 이름을 작성하고 3. 소괄호를 열어서 매개변수를 작성한다. (매개변수 생략해도 되지만, 소괄호는 반드시 열고 닫아야 한다.) 4. 마지막으로 중괄호를 열어서 함수 본문을 작성하면 된다. 함수 호출 이렇게 선언한 함수는 함수 이름 뒤에 소괄호를 붙여 호출할 수 있다. // 함..
-
[JavaScript] 자바스크립트 배열(Array) 이해하기 - 2프로그래밍 이야기/JavaScript 공부 2020. 5. 17. 05:07
[JavaScript] 자바스크립트 배열(Array) 이해하기 - 1에 이어서 계속해서 배열에 대해 정리해보자. 배열 요소 추가하고 수정하기 배열에 요소를 추가하는 방식은 객체와 비슷하다. 배열 내에서 원하는 index에 접근하고, 값을 할당하면 되는데, 값이 존재하지 않았던 index에 접근해서 값을 할당하면 추가가 되고 이미 값이 존재하던 index에 접근해서 값을 할당하면 수정이 된다. let arr = []; // 요소 추가 arr[0] = '김'; arr[1] = '나'; arr[2] = 'Big'; arr[3] = '이'; console.log(arr); // (4) ["김", "나", "Big", "이"] // 요소 수정 arr[2] = '박'; console.log(arr); // (4) ..