프로그래밍/JavaScript 39

자바스크립트 핵심 가이드 - 나쁜 점들 정리

== 연산자 자바스크립트에서 비교 연산자는 다음과 같습니다. == != === !== 다만, 차이가 조금 있다는 것입니다. 하지만, 자바스크립트 핵심 가이드에서는 ===를 사용하도록 권고하고 있습니다. 이유는 === 연산자는 같은 데이터 타입이고, 같은 값일 때 참값입니다. 하지만, == 연산자는 다른 데이터 타입이라면, 타입을 변환하여 비교 연산을 하게 됩니다. 이는 굉장한 손해일 수 있기에 사용하지 않는 것을 권한다는 생각을 합니다. with 문 이는 잘 못보셨으리라 생각합니다. 못 본 이유는 안 좋기 때문이죠. eval 이 또한, 쓰지 않는 것이 좋습니다. 문자열을 자바스크립트 컴파일러에 전달하고나서 결과를 실행하는 함수입니다. 고로, 인수에 대한 문자열에 의존적이고, 권한이 있어 다소 위험합니다...

자바스크립트 핵심 가이드 - 코드 가이드

왜 코딩 가이드가 필요한가? 잠시만, 생각을 해보도록 하죠. 이는 @Seungdols의 개인적인 생각입니다. 저는 주로 자바 언어를 사용하는 개발자입니다. 자바는 C와 비롯해 블록 스코프를 지원하는 언어입니다. 대개 이런 형태를 띄게 됩니다. if ( seungdols.equals("seungho") ){//K&R 스타일 } if ( seungdols.equals("seungho") ) { } 위 코드처럼 블록을 감싸야 하는 if, for, while, do-while...etc등등 많습니다. 하지만, 어떻게 스타일을 가져가는가? 또한, 가독성이 걸린 중요한 문제라고 생각합니다. 결국, 개발은 혼자 해낼 수 없습니다. 좋은 프로그램은 명확한 가시성을 갖게 됩니다. 이 말은 곧 가독성이 좋아진다는 말이겠죠..

JavaScript 핵심 가이드 - 배열

Array란 배열으로 번역을 하고, 데이터 구조 중 하나입니다. 가장 흔하게 사용하는 구조이며, 빠른 접근성의 특성을 가지고 있습니다. 하지만, 자바스크립트에서는 배열은 그렇게 빠른 데이터 구조는 아닙니다. 대신, 배열과 유사한 특성을 갖는 객체를 제공합니다. 물론, 속도적인 측면에서는 굉장히 느린 점이 단점입니다. 자바스크립트는 배열 첨자를 문자열로 변환하여 속성을 만들게 됩니다. var empty = []; var numbers = ['zero','one','seungdols','creatijin']; numbers[2]//seungdols numbers.length; // 4 empty.length; // 0 var number_obj = { '0':'zero', '1':'one' }; //numb..

JavaScript 핵심가이드 정리 1

자바스크립트 핵심 가이드 정리객체자바스크립트에서 단순한 데이터 타입(Primitive data type)은 숫자, 문자열, 불리언, null, undefined가 있다. 단, 여기서 숫자와 문자열 그리고 불리언은 메소드가 존재하기에 유사 객체라고도 할 수 있으며 Immutable 성격을 지닌다. 즉, 단순 데이터 타입 이외의 다른 값들은 객체라고 말한다.자바스크립트에서 말하는 객체란?! 변형 가능한 속성들의 집합이라고 할 수 있다.배열, 함수, 정규 표현식 또한 객체이다.이름과 값이 있는 속성들을 포함하는 컨테이너라고 할 수 있다. 속성의 이름은 문자열이면 모두 가능하다.(빈문자열도 포함)속성의 값은 undefined를 제외한 자바스크립트에서 사용되는 모든 값이 사용 될 수 있다. 자바스크립트의 객체는 ..

JavaScript - 내부 함수/Closure/CallBack

클로저내부함수가 외부함수의 내용에 접근 할 수 있는 개념.내부함수와 밀접한 관계를 가지고 있는 주제다. 내부함수는 외부함수의 지역변수에 접근 할 수 있는데 외부함수의 실행이 끝나서 외부함수가 소멸된 이후에도 내부함수가 외부함수의 변수에 접근 할 수 있다. 이러한 메커니즘을 클로저라고 한다.클로저란 내부함수가 외부함수의 지역변수에 접근 할 수 있고, 외부함수는 외부함수의 지역변수를 사용하는 내부함수가 소멸될 때까지 소멸되지 않는 특성을 의미한다.123456789function outter(){ var title = "seungdols conding"; return function (){ alert(title); } // inner();}var inner = outter();inner();cs 사실 내부함수..

JavaScript란? 외부파일로 실행하기

지난번에는 HTML 파일 내에 Embed 된 상태의 JS를 실행하였다. 그런데, 파일이 많아지면 우리는 파일을 나눠야 한다. 그 방법에 대해 간단히 소개 하려고 한다. 먼저 기존에 사용했던 코드를 새로운 파일로 생성한 뒤 그 파일 내에 써준다..js라는 확장자를 써줘야 한다. 기존 코드 대신 src = ".js 파일 주소(경로)" 실행한 결과는 똑같다.

javascript란?

javascript란 ?HTML이 한번 화면에 출력된 후에는 그 형태나 동작방법을 바꿀 수 없는 문제를 해결하기 위해서 네스케이프에서 만들어졌다. 이후에 이 언어는 마이크로소프트의 인터넷 익스플로러에 jscript라는 이름으로 탑재된다. 후에 ECMA라는 표준화 기구로 이 언어의 관리 주체가 옮겨졌다. - 생활코딩 발췌 절대 Java와 유사함은 없으니 이름이 같다고 언어가 비슷하겠거니 하면 안된다. Java의 경우 범용 프로그래밍 언어의 성격을 갖지만, JavaScript의 경우는 웹에서 동작하는 언어로 웹 플랫폼 언어이다. JavaScript의 사용- HTML , CSS등의 웹 클라이언트 언어는 배우고 오셔야 이해 할 수 있다. Use JavaScript HTML 위에서 동작 하는 코드이므로 HTML을..

location.href와 location.replace 차이

JavaScript에서의 location.href 와 location.replace 의 차이점 자바스크립트에서 페이지 이동 시킬때 location.href를 많이 사용하지만 location.replace 메세드도 종종 이용된다. 두가지 모두 같은 동작을 하는거 같지만 실제로는 아래와 같은 차이점이 있다. location.href는 객체의 속성이며, loaction.replace()는 메서드(함수)로 작동된다. href는 페이지를 이동하는 것이기 때문에 뒤로가기 버튼을 누른경우 이전 페이지로 이동이 가능하지만, replace는 현재 페이지를 새로운 페이지로 덮어 씌우기 때문에 이전 페이지로 이동이 불가능하다. href는 일반적인 페이지 이동시 이용을 하면 되고, replace의 경우는 이전페이지로 접근이 ..

반응형