728x90

JavaScript 24

[Javascript] 매개변수 기본값, Rest 파라미터, Spread 문법, Rest/Spread 프로퍼티

모던 자바스크립트 Deep Dive 정리 1. 매개변수 기본값 - 함수 호출 시 매개변수 갯수 만큼 인수를 전달하는 것이 일반적 - 매개변수보다 인수의 갯수가 적어도 에러는 발생하지 않고, 그 매개변수는 undefined의 값을 가짐 - 매개변수를 확인할 필요가 있음 // 일반적인 표현 function sum(x, y) { // 매개변수의 값이 falsy value인 경우, 기본값을 할당한다. x = x || 0; y = y || 0; return x + y; } console.log(sum(1)); // 1 console.log(sum(1, 2)); // 3 // 간단한 표현 function sum2(x = 0, y = 0) { return x + y; } console.log(sum2(1)); // ..

[Javascript] let, const와 블록 레벨 스코프

모던 자바스크립트 Deep Dive 정리 1. 함수 레벨 스코프(Function-level scope) - 함수의 코드 블록만을 스코프로 인정 - for 문의 변수 선언문에서 선언한 변수를 for 문의 코드 블록 외부에서 참조 가능 2. var 키워드 생략 허용 - 암묵적 전역 변수를 남발할 가능성 3. 변수 중복 선언 허용 - 의도하지 않은 변수값의 변경이 일어날 가능성 4. 변수 호이스팅 - 변수를 선언하기 이전에 참조 가능 이러한 단점을 보완하기 위해 var 대신 let, const 사용 1. let 1.1 블록 레벨 스코프 - 함수 레벨 스코프(Function-level scope) 함수 내에서 선언된 변수는 함수 내에서만 유효하며 함수 외부에서는 참조할 수 없다. 즉, 함수 내부에서 선언한 변수..

[Javascript] 안드로이드 모바일 브라우저에서 PDF띄우기

iOS, PC에서는 바로 열리는 PDF. 안드로이드에서는 자동 다운로드가 되는 현상 - 지난번 포스팅에서 PDF를 잘 띄웠는데, 안드로이드 모바일 브라우저에서만 자동 다운로드되어 문제가 발생했다. 해결방법 - 구글링 결과 Google Docs를 이용한 방법이 있었다. - 하지만 댓글에 2017 년 4 월 6 일부터이 형식을 사용할 수 없다고 나와있어서 pdf.js, pdfObject.js를 이용해서 구현해봤지만, 안드로이드에서만 자동 다운로드 되는 문제가 계속해서 발생했다. - 다시 구글링 했는데, 같은 글을 다시 보는데 2017 년 4 월 6 일부터이 형식을 사용할 수 있다라고 나와있었다;;;(난독증인가, 자동번역의 오류인가) - 아무튼 무사히 해결했다. // Open PDF function openP..

[Javascript] 웹으로 PDF 띄우기

회사 요구사항으로 PDF를 뛰워야했다. - 이전에 Java로 띄웠었는데, 간편하게 Javascript로 가능하다. window.open('서버파일경로+파일명.확장자'); - Java로 하면 FileInputStream fis = null; BufferedOutputStream bos = null; try { String pdfFileName = "경로+파일명.확장자"; File pdfFile = new File(pdfFileName); // 클라이언트 브라우져에서 바로 보는 방법(헤더 변경) response.setContentType("application/pdf"); // 이 구문이 있으면 [다운로드], 이 구문이 없다면 바로 target 지정된 곳에서 띄울 수 있다. //response.addHead..

728x90