본문 바로가기

Javascript20

Ajax ($http) 처리 AngularJS 에서는 $http 라는 서비스를 통해 Ajax 요청을 수행한다. Ajax는 비동기적 자바스크립트 및 XML의 약자인데 여기서 중요한 것이 바로 비동기적이다. 일반적으로 서버사이드에 요청을 하여 데이터를 수신하는 동작은 처리하는데 많은 시간이 필요하다.이전의 동기적 방식에서는 서버사이드에서 데이터가 올때까지 모든 동작을 멈추고 기다리는데,웹서비스에서 이런 상황은 사용자에게 굉장한 불편을 준다.이를 위해 서버사이드에 데이터를 요청하여 받는것이나, 가공된 데이터를 메일 혹은 SMS로 보내는 등 처리하는데 많은 시간이 필요하지만 UI에서 변화가 필요없는 동작의 경우 비동기로 처리를 한다.많은 시간이 필요한 처리는 요청만 해놓고 해당 결과가 올때까지 다른 일을 처리하다가,결과가 오면 다음 행위를.. 2016. 1. 3.
prototype 이란? 우선 이 포스트는 http://insanehong.kr/post/javascript-prototype/#toc_291 를 읽고 나름 정리와 추가코드를 작성한 것임을 미리 밝히고 시작하겠습니다. 그래서 해당 블로그의 글을 읽고 오시면 더 도움이 되실것 같습니다. SF만화나 영화를 보면 프로토타입이란 단어가 간혹 들린다. 예를 들자면 어떤 사이보그들의 모체 혹은 처음 버전을 프로토타입이라고 얘기를 하는데, 자바스크립트에서의 프로토타입도 이와 크게 다르지 않다. 자바스크립트에서의 프로토타입은 객체생성의 모체가 되는 놈을 말한다. 여기까지는 대부분 아는데, 이 프로토타입에는 2가지 유형이 있다는 것을 대부분은 모르고 있다. 프로토타입에는 프로토타입 연결과 프로토타입 속성 2가지가 있다. 이때, 흔히 API나 책.. 2015. 3. 6.
[읽기 좋은 자바스크립트 코딩 기법] 문장과 표현식(조건문과 반복문) 3 문장과 표현식 자바스크립트에서 if나 for같은 제어문을 사용하는 방법은 2가지가 있다. //나쁜 예 if(condition) doSomething(); //나쁜 예 if(condition) doSomething(); //좋은 예 if(condition){ doSomething(); } //나쁜 예 if(condition){ doSomething(); } 처음 2개의 예제는 중괄호 없이 if 문을 사용하고 있다. 크락포드의 코드 컨벤션과 jQuery 코어 스타일가이드 등 여러 가이드에서 이러한 방식을 금지하고 있다. 한줄에 입력하는 방식은 오해의 소지가 크기 때문이다. 이를테면 아래와 같은 코드는 어떤의미인가? if(condition) doSomething(); doSomethingElse(); co.. 2015. 2. 23.
[자바스크립트 핵심가이드] 주석 자바스크립트에서는 자바와 마찬가지로 2가지의 주석방법이 존재한다 /* */ 와 // 이다. 보통은 연속된 여러줄의 경우에 /* */를 사용하고, 1줄의 주석을 사용할 경우에는 //를 사용하는 것으로 알고있다. 하지만 /* */의 경우에는 정규표현식 리터럴로 인해 의도치 않은 결과를 발생시킬 수 있다. 예를 들자면 /* var rm_a = /a*/.match(5); */ 위와 같은 경우 구문 오류가 발생한다. 그러므로 가능하면 /* */ 대신에 // 를 사용할 것을 궈한다. 2015. 2. 6.
[자바스크립트 객체지향프로그래밍] 원시타입(p.48~57) 자바스크립트 원시 타입(primitive data type)은 숫자, 문자열, boolean, undefined, null 이 있다.이때 각각의 타입이 예상과는 다른 결과를 낼때가 있다.1. 숫자 자바스크립트에서 숫자는 정수, 실수, 2진수에서 36진수까지 다양하게 표현가능하다. console.log(typeof 255);//number : 10진수 console.log(typeof 255.0);//number : 실수 console.log(typeof 0377);//number : 8진수 console.log(typeof 0xff);//number : 16진수 여기까지는 너무나 당연한 이야기인데,자바스크립트에서는 자동형변환 기능으로 인해서 문자열타입과 숫자 타입을 쉽게 오갈수 있다. var temp =.. 2015. 2. 5.
[자바스크립트 객체지향프로그래밍] 프로그램 실행단계(p.42~44) 스터디로 보고 있는 이 책에서 프로그램 실행단계가 조금 설명이 이상하게 되어있어서 좀 더 쉽게풀어서 정리한다.예제로 나와있는 코드 먼저 보자. 책의 설명을 적어보면코드를 실행하면 파싱(컴파일)단계에서 변수인 square와 함수인 square가 정의된다. 먼저 square 변수가 정의되고 다음으로 square 함수가 정의되면서 square 변수를 덮어쓰게 된다.이후 코드가 실행되는 단계에서 square는 함수를 정의하고 있는 코드 블록을 가리키고,console.log(square(4));를 실행(16출력) 하고, var square=0; 문장으로 인해 마지막 console.log(square)는 0을 출력한다. 자바스크립트에 대해 어느정도 이해하고 있는 사람들 입장에서야 "으음 그렇지" 하고 넘어가는데 처.. 2015. 2. 5.