본문 바로가기

코딩/javascript

깊은복사/얕은복사 # 자바스크립트 참조 복사와 값 복사 자바스크립트에서 =를 이용하여 객체를 복사하면 값을 복사하는게 아니라 그 값의 위치를 참조만 하게 된다. 1.자료형의 값 복사(깊은 복사) 자바스크립트는 기본 자료형(숫자, 문자, boolean)의 값을 복사할 때 값을 완전히 복사한다. 따라서 =을 이용하여 값 복사를 쉽게 할 수 있다. var originValue = 100; var newValue = originValue; originValue = 200; console.log(originValue); //200 console.log(newValue); //100 -> 이렇게 두 변수가 완전히 독립성을 갖는 것을 ‘값 복사’ 또는 ‘깊은 복사’라고 한다. 값을 복사하고 변경했을 때, 다른 값에 전혀 영향을 주지 ..
용어 및 구문 # while구문 특정 조건을 만족하는 한 코드를 반복해서 실행 # do..while구문 while구문과 사용법은 크게 다르지 않으나, 내부 코드를 무조건 한 번은 실행시킨다는 차이점이 있다. # for구문 초기값을 정할 수 있고 갱신을 위한 코드가 짧을 경우에 사용 # 참조(reference) 객체가 컴퓨터 메모리 상에서 어디에 저장되었는지를 가리키는 값 # 클로저(Closure) 보통의 경우, 안쪽 스코프에서 정의된 변수는 바깥 스코프에서 접근할 수 없다. # 큐(Queue) 데이터를 집어넣을 수 있는 선형(linear) 자료형 먼저 집어넣은 데이터가 먼저 나온다. 이 특징을 줄여서 FIFO(First In First Out)라고 부른다. 데이터를 집어넣는 enqueue, 데이터를 추출하는 deque..
예외 처리 예외(exception) 예외(exception)란 프로그램이 실행 중에 발생하는 런타임 오류를 의미합니다. 이러한 예외가 발생하지 않도록 미리 방지하는 것도 중요하지만, 발생한 예외를 처리하는 방법 또한 매우 중요합니다. 오류(error)란 프로그램 구문의 문법적인 오류를 의미합니다. 예외 발생 예외를 발생시킨다는 것은 명시적으로 오류를 발생시킨다는 의미뿐만 아니라 예외 상황을 알린다는 의미도 있습니다. 자바스크립트에서는 throw 키워드를 사용하여 예외를 발생시킬 수 있습니다. throw 표현식; 표현식에는 예외 코드를 나타내는 숫자나 오류 메시지를 담고 있는 문자열, Error 객체 등이 올 수 있습니다. 예외 처리(exception handling) 자바스크립트에서는 프로그램이 실행되는 도중 발생..
매개변수와 인수 매개변수와 인수 매개변수(parameter) 자바스크립트에서는 함수를 정의할 때는 매개변수의 타입을 따로 명시하지 않습니다. 함수를 호출할 때에도 인수(argument)로 전달된 값에 대해 어떠한 타입 검사도 하지 않습니다. 함수를 호출할 때 함수의 정의보다 적은 수의 인수가 전달되더라도, 다른 언어와는 달리 오류를 발생시키지 않습니다. 이 같은 경우 자바스크립트는 전달되지 않은 나머지 매개변수에 자동으로 undefined 값을 설정합니다. 매개변수(parameter)란 함수의 정의에서 전달받은 인수를 함수 내부로 전달하기 위해 사용하는 변수를 의미합니다. 인수(argument)란 함수가 호출될 때 함수로 값을 전달해주는 값을 말합니다. 다음 예제는 3개의 매개변수를 가지는 함수에 각각 다른 수의 인수를..
웹 스토리지(WEB STORAGE) 웹 스토리지(WEB STORAGE) HTML5에서 웹 스토리지라는 기능이 있습니다.웹 스토리지는 웹에 있는 스토리지가 아니라 브라우저의 내부 스토리지를 사용할 수 있게끔 제공하고 있는 기능입니다. 웹 스토리지가 생긴 이유는 쿠키 사용에 대한 불편함과 제약으로 인해 불편함을 해소하고 다양한 기능들을 넣고자 하였기 때문에 HTML5에 WEBStorage라는 기능이 생겼습니다. 웹 스토리지의 탄생 배경을 알기 위한 쿠키와 웹 스토리지에 대한 특성 쿠키(Cookie)4KB의 저장 용량같은 사이트내에서 둘 이상의 탭을 열었을 때, 둘 이상의 트랜젝션 추적에 어려움이 있다.도메인 내의 모든 페이지에 같이 전달 된다.암호화 되지 않고 보내기 때문에 보안에 취약하다.사용자의 로컬에 텍스트로 저장 되어 있어 쉽게 접근이..
var, let, const 차이점 var, let, const 차이점은? var는 function-scoped이고, let, const는 block-scoped입니다. function-scoped와 block-scoped가 무슨말이냐? var(function-scoped) jsfiddle 참고주소 // var는 function-scope이기 때문에 for문이 끝난다음에 i를 호출하면 값이 출력이 잘 된다. // 이건 var가 hoisting이 되었기 때문이다. for(var j=0; j
자동 실행 함수 (window.onload, $(document).ready()) 요약window.onload 와 $(document).ready() 중에 어느 한 쪽이 좋다고 할 수 없다. window.onload 는 페이지의 모든 요소들이 로드된 이후에 호출되며$(document).ready() 는 DOM 요소들만 로드되면 호출된다. window.onload 는 한 페이지에 하나의 함수만 호출되지만$(document).ready() 는 모두 호출된다. 위와 같은 특징들을 파악하여 경우에 따라 적절히 골라서 쓰자. window.onload Javascript에서 페이지가 로드되면 자동으로 실행되는 함수를 구현할 때엔전역 콜백함수인 window.onload 함수를 사용합니다. ※ 자바스크립트 전역 콜백함수: http://zuyo.tistory.com/337 실행시점페이지가 모두 로드된..
이벤트 전파 중단 javascriptevent.preventDefault() 현재 이벤트의 동작을 중단한다. event.stopPropagation() 현재 이벤트가 상위로 전파되지 않도록 중단한다. event.stopImmediatePropagation() 현재 이벤트가 상위뿐 아니라 현재 레벨에 걸린 다른 이벤트도 동작하지 않도록 중단한다.jqueryreturn false; jQuery를 사용할 때는 위의 두개 모두를 수행한 것과 같고, jQuery를 사용하지 않을 때는 event.preventDefault()와 같다. onclick에서 return false 의미 - 기존에 있던 기능 무시※참고 : http://webclub.tistory.com/186