본문 바로가기

스타일4

자바스크립트 핵심 가이드 자바스크립트의 고전, Classic "자바스크립트 공부"라는 키워드로 검색하면 항상 등장하는 책 출간된지는 오래되서 지금보면 뭐 이런 당연한 얘기를 하고 있어? 라는 생각을 할 수 있다. 거기다가 요즘에는 lint가 대부분의 나쁜점들을 막아주니 하지만 지금 lint가 왜 그런 스타일이 나쁜점이라 하는지에 대한 내용이 책에 자세히 설명되어 있고, 현대 자바스크립트 코딩 스타일의 핵심과 JSLint라는 아주 좋은 검사기까지 만들어준 대단하신 저자 더글라스 크락포드(JSON 형식 창안)를 생각해서라도 읽어봐야 할 책 처음부터 보기에는 다소 어려울 수 있는 책이기 때문에 자바스크립트를 어느정도 공부하고 보기를 추천한다. 이 책을 읽는다면 함수와 부록은 무조건 정독 사실 부록이 이 책의 핵심같은 느낌 부록은 꼭 .. 2018. 8. 1.
비트연산자? 써야하나? 비트연산자 금지! 레거시 C, C++ 프로젝트를 보면 비트 플래그를 사용해서 연산하는 경우를 많이 볼 수 있다. 이런 레거시 프로젝트를 웹 어플리케이션으로 포팅하는 과정에서 그대로 비트 연산을 자바스크립트 측에서 구현하는 경우가 있는데, 자바스크립트는 기본적으로 비트 연산 속도가 느리다. 자바스크립트에서는 비트 연산 시 부동 소수점 숫자형을 정수형으로 변환 후 비트연산을 하고 다시 원래타입으로 되돌린다. 또한 비트연산은 하드웨어에 친근하고 속도가 빠른게 장점인데 자바스크립트에서의 비트연산은 하드웨어와 아무 상관이 없다. 그러므로 레거시 프로젝트를 포팅 시에는 이러한 연산은 서버 측에서 해야한다. 제발 2018. 8. 1.
switch문 Fall Through switch Fall Through 금지! switch Fall Through란? switch 문에서 case 내에서 의도적으로 break문을 생략하여 다음 case로 이동 시키는 방법 위의 방식은 의도적으로 사용할 때도 있다. 그럴 경우에는 무조건 주석을 달아줘야 한다. 하지만 실수로 break문을 생략한 경우를 직접 겪어보니 에러가 어디에서 발생하는지 정말 찾기 힘들었다. 그러므로, 사용하지 말자 제발 2018. 8. 1.
new 보다는 리터럴 객체를 생성하는 방법은 크게 생성자를 사용하는 방식과 리터럴 방식이 있다. 생성자를 이용한 방식 var obj = new Object(); 리터럴 형식을 이용한 방식 var obj = {}; 객체는 위의 두가지 방식의 성능 차이는 크게 나지 않는다. 그러나 배열의 입장에서는 다르다. 생성자 방식 보다 리터럴 방식이 더 빠르다. 또한 접근자를 사용하는게 더 빠르다 접근자 예제 var arr = []; for(var i =0; i 2018. 7. 27.