본문 바로가기

전체글372

[읽기 좋은 자바스크립트 코딩 기법] 문장과 표현식(조건문과 반복문) 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.
src 속성과 href 속성 사용 태그나 태그에 데이터를 바인딩 할 때, src속성이나 href 속성에는 {{}} 문법이 제대로 동작하지 않는다. 웹 브라우저가 이미지를 다른 콘텐츠와 아주 공격적으로 로딩하므로 Angular가 바인딩 요청을 낚아챌겨를이 없기 때문이다.그러므로 위 태그들을 사용시에는와 같이 ng 태그를 사용해야 한다. 2015. 2. 3.
Style과 Class지정 예를들어 어떤 메뉴들을 조건에 따라 활성/비활성화하려면 코드를 다음과 같이 작성할 수 있다.home.jsp기절시키다 home.jsvar app = angular.module('app', []); app.controller('MainCtrl', function($scope){$scope.isDisabled = false;$scope.stun = function(){$scope.isDisabled = 'true';};}); 처음 isDisabled의 경우 false 이므로 '기절시키다' text에는 아무런 변화가 없다. 그러나 해당 text를 클릭시에는 지정해놓은 style인 gray 색으로 변할 것이다.즉, style="{{표현식}}" 같은 형태로 인터폴레이션( '{{표현식}}' 을 인터폴레이션이라 한다... 2015. 1. 31.