본문 바로가기

코딩

깊은복사/얕은복사 # 자바스크립트 참조 복사와 값 복사 자바스크립트에서 =를 이용하여 객체를 복사하면 값을 복사하는게 아니라 그 값의 위치를 참조만 하게 된다. 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개의 매개변수를 가지는 함수에 각각 다른 수의 인수를..
쿠키와 세션 [ 쿠키(Cookie) ] - 클라이언트 로컬에 저장되는 키와 값이 들어있는 파일 - 이름, 값, 유호 시간, 경로 등을 포함 - 클라이언트의 상태 정보를 브라우저에 저장하여 참조 *구성 요소 - 쿠키의 이름(name) - 쿠키의 값(value) - 쿠키의 만료시간(Expires) - 쿠키를 전송할 도메인 이름(Domain) - 쿠키를 전송할 경로(Path) - 보안 연결 여부(Secure) - HttpOnly 여부(HttpOnly) *동작 방식 1. 웹브라우저가 서버에 요청 2. 상태를 유지하고 싶은 값을 쿠키(cookie)로 생성 3. 서버가 응답할 때 HTTP 헤더(Set-Cookie)에 쿠키를 포함해서 전송 4. 전달받은 쿠키는 웹브라우저에서 관리하고 있다가, 다음 요청 때 쿠키를 HTTP헤더에 ..
크로스 브라우징 크로스 브라우징 작업 도움이 되는 사이트를 이용한다. https://caniuse.com 초기화 작업(CSS 초기화 작업) 브라우저마다 차이가 날 수 있는 부분들에 미리 스타일을 주어 초기화 시킨다. 핵(Hack) 스타일을 줄 때 특수문자를 넣어서 다른브라우저들에서는 인식이 안되지만 IE 특정 버전에서는 인식되도록 하는 방법이다. div{ color:red; *color:blue /* IE7이하 용 */ _color:green /* IE6 용 */ } 편법적인 방법으로 추천하지 않는다. IE8 이상의 브라우저에서 구분해내기가 어려우며 CSS 유지 보수를 어렵게 한다. IE용 주석을 이용한 방법 (Conditional comments) HTML 문서 내에서 주석을 이용하여 구별한다. lt (less tha..
절대경로와 상대경로 이미지를 가져올때도 많이 사용하고, link 연결시에 주로 사용하는 경로! 경로설정에는 절대경로/상대경로 두가지가 있습니다. 1절대경로 - 어떠한 웹페이지나 파일이 가지고 있는 고유한 경로, 절대적으로 변하지 않는 경로 2상대경로 -내위치 기준에서 사용하는 경로 1. '/' > 가장 최상의 디렉토리로 이동한다.(web root) 2. './' 파일이 현재 디렉토리를 의미한다. 2. '../'상위 디렉토리로 이동한다. 만약 두 단계 상위 디렉토리로 이동하려면 '../../'이렇게 사용하면 된다. [출처] html css 경로 지정 절대경로 와 상대경로!|작성자 디모트 this moment : 네이버 블로그 무심코 지나친 소중한 순간, 그 순간을 함께하는 침구브랜드 디스모먼트 블로그입니다. blog.nave..
웹 스토리지(WEB STORAGE) 웹 스토리지(WEB STORAGE) HTML5에서 웹 스토리지라는 기능이 있습니다.웹 스토리지는 웹에 있는 스토리지가 아니라 브라우저의 내부 스토리지를 사용할 수 있게끔 제공하고 있는 기능입니다. 웹 스토리지가 생긴 이유는 쿠키 사용에 대한 불편함과 제약으로 인해 불편함을 해소하고 다양한 기능들을 넣고자 하였기 때문에 HTML5에 WEBStorage라는 기능이 생겼습니다. 웹 스토리지의 탄생 배경을 알기 위한 쿠키와 웹 스토리지에 대한 특성 쿠키(Cookie)4KB의 저장 용량같은 사이트내에서 둘 이상의 탭을 열었을 때, 둘 이상의 트랜젝션 추적에 어려움이 있다.도메인 내의 모든 페이지에 같이 전달 된다.암호화 되지 않고 보내기 때문에 보안에 취약하다.사용자의 로컬에 텍스트로 저장 되어 있어 쉽게 접근이..