분류 전체보기
[ 모던 자바스크립트 Deep Dive ] 반복문 + 레이블문
1. 반복문 너무 익숙한 반목문. 조건식의 평가 결과가 참인 경우 코드 블록 실행 그 후 조건식을 다시 평가하여 여전히 참인 경우 코드 블록을 다시 실행. 이는 조건식이 거짓이 될 때까지 계속 반복. 자바스크립트는 for, while, do ... while문을 제공 대체 기능 자바스크립트는 배열을 순회할 때 사용하는 forEach 메서드, 객체의 프로퍼티를 열거할 때 사용하는 for ... in ES6에서 도입괸 이터러블 순회 for...of등 반복문을 대체할 수 있는 기능을 제공한다. 2. 종류 for문 for (let i = 0; i < 2; i++){ console.log(i) } while문 반복 횟수가 불명확할 때 주로 사용 let count = 0 while (count < 3){ conso..
[ 모던 자바스크립트 Deep Dive ] switch 문
Switch 문 switch문은 주어진 표현식을 평가하여 그 값과 일치하는 표현식을 갖는 case 문으로 실행 흐름을 옮긴다. casde문은 상황(case)를 의미하는 표현식을 저장하고 콜론으로 마친다. 그리고 그 뒤에 실행할 문들을 위치시킨다. switch문의 표현식과 일치하는 case문이 없다면 실행 순서는 default문으로 이동한다. default문은 선택사항으로, 사용하지 않을 수도 있다. switch(표현식){ case 표현식 1: switch 문의 표현식과 표현식 1이 일치하면 실행 break case 표현식 2: switch문의 표현식과 표현식 2가 일치하면 실행 break default: switch문의 표현식과 일치하는 case문이 없을 때 실행 }
[ 모던 자바스크립트 Deep Dive ] typeof 연산자
1. typeof 연산자 typeof연산자는 피연산자의 데이터 타입을 문자열로 반환한다 반환값 : string, number, boolean, undefined, symbol, object, function null을 반환하는 경우는 없으며, 함수의 경우 function을 반환한다. typeof '' // -> string typeof 1 // -> number typeof NaN // -> number typeof true // -> boolean typeof null // -> object typeof [] // -> object typeof {} // -> object typeof new Date() // -> object typeof /test/gi // -> object // (정규식) type..
[ 모던 자바스크립트 Deep Dive ] 쉼표 연산자
1. 쉼표 연산자 쉼표 연산자(,)는 왼쪽 피연산자부터 차례대로 피연산자를 평가하고 마지막 피연산자의 평가가 끝나면 마지막 피연산자의 평가 결과를 반환한다 var x, y, z; x = 1, y = 2, z = 3; // 3 x = (2, 3); console.log(x); // expected output: 3 var a, b, c; a = b = 3, c = 4; // 콘솔에는 4를 반환 console.log(a); // 3 (제일 왼쪽) var x, y, z; x = (y = 5, z = 6); // 콘솔에는 6을 반환 console.log(x); // 6 (제일 오른쪽) 2. 연산 후 반환 값을 반환하기 이전에 연산을 수행할 때도 쉼표 연산자를 사용한다. 쉼표 연산자는 마지막 표현식의 결과만 반환..
[ 모던 자바스크립트 Deep Dive ] 동등/일치 비교 연산자
1. 비교 연산자 비교 연산자는 좌항과 우항의 피연산자를 비교한 다음 그 결과를 불리언 값으로 반환한다. 2. 동등/일치 비교 연산자 동등 비교 연산자(loose equality)와 일치 비교(strict equality)연산자는 좌항과 우항의 피연산자가 같은 값으로 평가되는지 비교해 불리언 값을 반환한다. 그러나 둘은 비교 엄격성의 정도가 다르다. 동등 비교 연산자 : 느슨한 비교 일치 비교 연산자 : 엄격한 비교 비교 연산자 의미 사례 설명 부수 효과 == 동등 비교 x == y x와 y의 값이 같음 x === 일치 비교 x === y x와 y의 값과 타입이 같음 x != 부동등 비교 x != y x와 y의 값이 다름 x !== 불일치 비교 x !== y x와 y의 값과 타입이 다름 x 동등 비교 연..
[ 모던 자바스크립트 Deep Dive ] 변수와 값의 재할당
0. 용어 정리 런타임 : 소스코드가 순차적으로 실행되는 시점 호이스팅 : 변수 선언문이 코드의 선두로 끌어 올려진 것처럼 동작하는 자바스크립트의 특징 재할당 : 이미 값이 할당되어 있는 변수에 새로운 값을 또다시 할당하는 것 가비지 콜렉터 : 애플리케이션이 할당한 메모리 공간을 주기적으로 검사하여 더 이상 사용되지 않는 메모리를 해제하는 기능. 더 이상 사용되지 않는 메모리란, 어떤 식별자도 참조하지 않는 메모리 공간을 의미. 자바스크립트는 가비지 콜렉터를 내장하고 있는 매니지드 언어로서 가비지 콜렉터를 통해 메모리 누수(memeory leak)을 방지한다. 매니지드 언어 : 메모리의 할당 및 해제를 위한 메모리 관리 기능을 언어 자체가 담당한다. 개발자의 직접적인 메모리 제어가 불허된다. 개 언매니지..
[ 모던 자바스크립트 Deep Dive ] 들어가며
모던 자바스크립트 Deep Dive는 진작 사놓고 찔끔찔끔 읽던 책이었다. 약 900쪽이라는 두께가 주는 압박이 생각보다 컸는지 읽기가 너무 어려웠던 책. 두껍고 무겁고, 접근하기 어렵게만 느껴지는 책은 후루룩 읽는 것이 좋다는 것을 알고 있다. 처음부터 모든 것을 이해하려 하지 않고, 빠르게 접근하고 눈에 익힌 후 이해를 시작하는 것. 두꺼운 책과 싸우는 내 스킬이다. 딥 다이브도 같은 방식으로 후루룩 읽어내려갔다. 재미있는 부분이나 잘 모르는 부분을 표시해두면서 1회독을 했으니, 이제는 내가 표시해둔 부분을 다시 보면서 블로그에 기록해봐야지! 그래서 기록이 책의 내용처럼 술술 읽히거나 이어지는게 아니라 단편적인 정보들만 담고 있을 수도 있을 것 같다. 예를들어 변수 값의 재 할당에서 일어나는 메모리 ..
[ 테오의 스프린트 ] 마음을 전하는 텃밭 회고
테오 감사해요! 로 시작하는 회고 시작 11월 23일부터 11월 29일까지. 대략 6일간의 스프린트가 막을 내렸다. 소감을 한 문장으로 압축해서 미리 말하자면, '아 이게 협업이구나!'를 느낄 수 있는 시간이었다. 테오의 스프린트를 통해 얻어가게 된 것들, 배우게 된 것들에 대해 기록하기 위해 오랜만에 개발 블로그에 글을 써내려가게 되었다. 네이버로 관리하는 일상 블로그만 열심히 들락날락거리다가 이렇게 각잡고 글을 쓰려고 하니까 뭔가 부끄럽다ㅎㅎ... 내가 작성한 회고록을 보고 누군가는 팀 프로젝트 진행에 도움을 받을 수도 있을 것이고... 미래의 나에게도 분명 도움이 될 것이라 생각한다! 0. 계기 계기는 단순했다. 함께 SEMO 프로젝트를 진행중인 프론트엔드분이 테오의 스프린트를 추천해주셨다. 짧은 ..