JavaScript/javascript
-
Javascript 에서 함수를 생성하고 해당 함수를 괄호 없이 호출할때가 있다. 함수를 호출할 때 괄호가 있을때와 없을때의 차이점을 알아보자 아래와 같은 예시가 있다. a 라는 함수에 console.log 를 찍는 함수인데 괄호 없이 a 함수를 호출했을 때는 함수 그 자체를 보여준다. 하지만 a(); 처럼 괄호를 붙일 경우 함수 내부에 선언된 console.log 가 정상적으로 찍힌다. 이유는 함수에 () 괄호가 붙을 경우 자바스크립트 함수를 즉시 호출한다. 하지만 함수에 () 괄호가 없을 경우 함수의 주소를 뜻한다. 추가로 아래 예시도 확인하자. setInterval() 을 통해 1초마다 함수를 호출하는 구문이다. 1초마다 a라는 함수를 괄호없이 잘 호출하는걸 볼 수 있다. setInterval() ..
Javascript 함수(function)에 괄호 () 여부Javascript 에서 함수를 생성하고 해당 함수를 괄호 없이 호출할때가 있다. 함수를 호출할 때 괄호가 있을때와 없을때의 차이점을 알아보자 아래와 같은 예시가 있다. a 라는 함수에 console.log 를 찍는 함수인데 괄호 없이 a 함수를 호출했을 때는 함수 그 자체를 보여준다. 하지만 a(); 처럼 괄호를 붙일 경우 함수 내부에 선언된 console.log 가 정상적으로 찍힌다. 이유는 함수에 () 괄호가 붙을 경우 자바스크립트 함수를 즉시 호출한다. 하지만 함수에 () 괄호가 없을 경우 함수의 주소를 뜻한다. 추가로 아래 예시도 확인하자. setInterval() 을 통해 1초마다 함수를 호출하는 구문이다. 1초마다 a라는 함수를 괄호없이 잘 호출하는걸 볼 수 있다. setInterval() ..
2022.10.12 -
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