JavaScript/javascript
-
window.location window.location은 read-only 속성을 가졌으며, document의 현재 location 정보를 담은 Location 객체를 리턴해준다. Location properties [ Location.ancestorOrigins ] : 주어진 Location 객체와 연관된 document의 모든 조상 browsing context들이 역순으로 담긴 static한 DOMStringList이다. [ Location.href ]: 전체 URL을 담고있는 USVString을 리턴하는 stringifier이다. 값이 바뀌면 연관된 document는 새로운 페이지로 이동한다. [ Location.protocol ] : URL의 프로토콜 스키마를 담고 있는 USVString]이다..
location.href, location.assign, location.replacewindow.location window.location은 read-only 속성을 가졌으며, document의 현재 location 정보를 담은 Location 객체를 리턴해준다. Location properties [ Location.ancestorOrigins ] : 주어진 Location 객체와 연관된 document의 모든 조상 browsing context들이 역순으로 담긴 static한 DOMStringList이다. [ Location.href ]: 전체 URL을 담고있는 USVString을 리턴하는 stringifier이다. 값이 바뀌면 연관된 document는 새로운 페이지로 이동한다. [ Location.protocol ] : URL의 프로토콜 스키마를 담고 있는 USVString]이다..
2022.09.15 -
인코딩(Encoding) 정보의 형태나 형식을 표준화, 보안, 처리 속도 향상, 저장 공간 절약 등을 위해서 다른 형태나 형식으로 변환하는 처리 또는 그 처리 방식을 얘기한다. Base64 인코딩 64진법 데이터로 바이너리 데이터(이미지, 실행파일) 등 문자 코드에 영향을 받지 않는 공통 ASCII 영역의 문자들로만 이루어진 일련의 문자열로 바꾸는 인코딩 방식 Base64 인코딩을 사용하는 이유는 통신과정에서 바이너리 데이터의 손실을 막기 위해 사용됩니다. 그래서 바이너리 데이터를 Character set에 영향을 받지 않는 공통 ASCII 영역의 문자로만 이루어진 문자열로 바꾼다. Javascript Base64 인코딩 방법- btoa() : 인코딩- atob() : 디코딩 btoa() javascri..
Base64 인코딩(btoa(), atob())인코딩(Encoding) 정보의 형태나 형식을 표준화, 보안, 처리 속도 향상, 저장 공간 절약 등을 위해서 다른 형태나 형식으로 변환하는 처리 또는 그 처리 방식을 얘기한다. Base64 인코딩 64진법 데이터로 바이너리 데이터(이미지, 실행파일) 등 문자 코드에 영향을 받지 않는 공통 ASCII 영역의 문자들로만 이루어진 일련의 문자열로 바꾸는 인코딩 방식 Base64 인코딩을 사용하는 이유는 통신과정에서 바이너리 데이터의 손실을 막기 위해 사용됩니다. 그래서 바이너리 데이터를 Character set에 영향을 받지 않는 공통 ASCII 영역의 문자로만 이루어진 문자열로 바꾼다. Javascript Base64 인코딩 방법- btoa() : 인코딩- atob() : 디코딩 btoa() javascri..
2022.09.08 -
location.assign location.replace 기능 새로운 페이지로 이동된다. 현재 페이지에서 새로운 페이지로 이동하기 때문에 뒤로가기 버튼을 통해 이전페이지로 이동이 가능하다. 현재 페이지에서 새로운 페이지를 덮어 씌운다. 현재 페이지를 새로운 페이지로 덮어 씌우기 때문에 이전 페이지로 이동이 불가능하다. 타입 메서드 메서드 히스토리 기록된다. 기록되지 않는다. 예 location.assign = 'https://www.naver.com' location.replace = 'https://www.naver.com' location.assign 는 기존페이지에서 새로운 페이지로 이동시키기 때문에 뒤로가기 버튼을 통해 이전페이지로 갈 수 있다. 하지만 location.replace 는 기존페이..
location.assign 와 location.replace 차이location.assign location.replace 기능 새로운 페이지로 이동된다. 현재 페이지에서 새로운 페이지로 이동하기 때문에 뒤로가기 버튼을 통해 이전페이지로 이동이 가능하다. 현재 페이지에서 새로운 페이지를 덮어 씌운다. 현재 페이지를 새로운 페이지로 덮어 씌우기 때문에 이전 페이지로 이동이 불가능하다. 타입 메서드 메서드 히스토리 기록된다. 기록되지 않는다. 예 location.assign = 'https://www.naver.com' location.replace = 'https://www.naver.com' location.assign 는 기존페이지에서 새로운 페이지로 이동시키기 때문에 뒤로가기 버튼을 통해 이전페이지로 갈 수 있다. 하지만 location.replace 는 기존페이..
2022.09.07 -
Javascript 의 "=="는 Equal Operator 이고, "==="는 Strict Equal Operator 이다. ==는 서로 다른 변수 유형이지만 변수 값을 기반으로 유형을 수정하여 비교한다. 즉, ==는 변수 값이 같으면 true를 반환하고, === 는 변수의 유형까지 비교하여 반환한다. == : 서로 다른 유형의 두 변수의 값을 비교 === : 엄격한 비교를 하는것으로 변수의 값 뿐만 아니라 변수의 유형까지 비교한다. == ==는 a == b 라고 했을 때 a 와 b 의 값이 같은지를 비교해서 같으면 true, 다르면 false 라고 한다. 예시) 0 == false // true 2 == "2" //true (변수의 유형을 자동변환) console.log(typeof 2); //num..
Javascript == 와 === 의 차이Javascript 의 "=="는 Equal Operator 이고, "==="는 Strict Equal Operator 이다. ==는 서로 다른 변수 유형이지만 변수 값을 기반으로 유형을 수정하여 비교한다. 즉, ==는 변수 값이 같으면 true를 반환하고, === 는 변수의 유형까지 비교하여 반환한다. == : 서로 다른 유형의 두 변수의 값을 비교 === : 엄격한 비교를 하는것으로 변수의 값 뿐만 아니라 변수의 유형까지 비교한다. == ==는 a == b 라고 했을 때 a 와 b 의 값이 같은지를 비교해서 같으면 true, 다르면 false 라고 한다. 예시) 0 == false // true 2 == "2" //true (변수의 유형을 자동변환) console.log(typeof 2); //num..
2022.08.16 -
옵셔널 체이닝(Optional Chaining)은 ES2020에서 등장한 새로운 연산자로서 '?.' 형태로 쓰인다. 접근하는 데이터가 유효한지 명시적으로 검증하지 않고 연결된 객체 체인 내에 깊숙히 위치한 속성 값을 읽을 수 있는 연산자이다. 참조된 값이 null 혹은 undefined 여도 에러로 뱉지 않고 undefined 값을 리턴한다. 함수 호출시에도 마찬가지로 값이 없다면 undefined를 리턴한다. 옵셔널 체이닝이 필요한 이유) 아래와 같이 user 객체의 info.name에 접근했지만 읽을 수 없는 TypeError가 나타났다. 당연히 존재하지 않는 값에 접근 했기 때문에 에러가 발생한다. const user = {}; console.log(user.info.name); * TypeErro..
옵셔널 체이닝(Optional Chaining) - ?.옵셔널 체이닝(Optional Chaining)은 ES2020에서 등장한 새로운 연산자로서 '?.' 형태로 쓰인다. 접근하는 데이터가 유효한지 명시적으로 검증하지 않고 연결된 객체 체인 내에 깊숙히 위치한 속성 값을 읽을 수 있는 연산자이다. 참조된 값이 null 혹은 undefined 여도 에러로 뱉지 않고 undefined 값을 리턴한다. 함수 호출시에도 마찬가지로 값이 없다면 undefined를 리턴한다. 옵셔널 체이닝이 필요한 이유) 아래와 같이 user 객체의 info.name에 접근했지만 읽을 수 없는 TypeError가 나타났다. 당연히 존재하지 않는 값에 접근 했기 때문에 에러가 발생한다. const user = {}; console.log(user.info.name); * TypeErro..
2022.08.16 -
비동기 처리(Asynchronous Processing) 하나의 작업의 종료까지 기다리지 않고 다음 작업을 진행하는 비순차적인 처리 방식 자바스크립트는 싱글 스레드 기반의 언어이기 때문에 작업을 처리하는 공간(호출 스택)이 하나이다. 즉, 한번에 하나의 작업만 수행할 수 있다. 따라서 비동기적으로 실행되는 setTimeout, addEventListener 등 포함된 로직은 작성한 순서대로 실행되지 않는다. 아래 예제를 보자 console.log('AAAA'); setTimeout(function(){ console.log('BBBB'); }, 0); console.log('CCCC'); 위의 예상 결과는 1. AAAA 2. BBBB 3.CCCC 라고 생각했지만 그렇지 않았다. 이유는 자바스크립트 엔진의..
비동기 처리(Asynchronous Processing), 콜 스택(Call Stack), 이벤트 루프(Event Loop)비동기 처리(Asynchronous Processing) 하나의 작업의 종료까지 기다리지 않고 다음 작업을 진행하는 비순차적인 처리 방식 자바스크립트는 싱글 스레드 기반의 언어이기 때문에 작업을 처리하는 공간(호출 스택)이 하나이다. 즉, 한번에 하나의 작업만 수행할 수 있다. 따라서 비동기적으로 실행되는 setTimeout, addEventListener 등 포함된 로직은 작성한 순서대로 실행되지 않는다. 아래 예제를 보자 console.log('AAAA'); setTimeout(function(){ console.log('BBBB'); }, 0); console.log('CCCC'); 위의 예상 결과는 1. AAAA 2. BBBB 3.CCCC 라고 생각했지만 그렇지 않았다. 이유는 자바스크립트 엔진의..
2022.06.28