분류 전체보기
-
[클린코드 자바스크립트] 타입검사개발/javascript 2022. 3. 7. 20:37
* 클린코드 자바스크립트 강의를 정리하고자 작성한 게시글입니다. 타입검사 반환되는 값은 문자열이다. 원시형 데이터는 typeof로 수월한 검사가 가능하지만 참조형의 경우 정확한 검사가 이루어지기는 어렵다. typeof, instanceof, Object.prototype.toString.call(검사하고자 하는 값) 으로 타입을 검사할 수 있다. instanceof: 생성자의 prototype 속성이 객체의 프로토타입 체인 어딘가 존재하는지 판별한다. function testFunction() {} class TestClass {} const str = new String('문자열'); typeof '문자열' // 'string' typeof true // 'boolean' typeof undefined..
-
[클린코드 자바스크립트] 호이스팅 주의개발/javascript 2022. 3. 5. 16:20
* 클린코드 자바스크립트 강의를 정리하고자 작성한 게시글입니다. 호이스팅 주의 런타임 시 선언과 할당이 분리되는 것을 말한다. 코드가 실행하기 전 변수, 함수 선언이 스코프의 최상단으로 올려지는 현상을 말한다. var 변수의 경우 호이스팅시 undefined로 변수를 초기화 한다. let, const 변수의 경우 선언한 변수를 호이스팅 시 초기화하지 않는다. var global = 0; function outer() { console.log(global); // undefined
-
[클린코드 자바스크립트] 임시변수 제거개발/javascript 2022. 3. 4. 16:22
* 클린코드 자바스크립트 강의를 정리하고자 작성한 게시글입니다. 임시변수 제거하기 함수 안에 변수를 하나 정의 했다고 가정했을 때 해당 함수의 길이가 길어질 수록 전역변수를 쓰는 것과 같이 버그가 발생할 확률이 높다. 임시변수 사용을 줄이려면 함수의 역할에 맞게 여러개 분리하는 것이 가장 좋다. 함수는 역할에만 충실하도록 하고 간결하게 작성하도록 고민해야한다. 임시변수를 사용하면 추가적인 코드 작성의 유혹에 빠지기 쉽다. (디버깅이 어려워짐) 임시변수 없이 바로 값을 return 하도록 고민해서 함수를 만들도록 한다. 고차함수를 사용한다. (map, filter, reduce 등) # 임시변수를 사용하는 경우 function getElements() { const result = {}; // 함수 안에 ..
-
[클린코드 자바스크립트] 전역공간 사용 최소화개발/javascript 2022. 3. 3. 22:12
* 클린코드 자바스크립트 강의를 정리하고자 작성한 게시글입니다. 전역 공간 사용 최소화 전역공간 사용은 최소화해서 사용해야 한다. 지역변수만 사용하도록 한다. window, global 에 접근해서 직접 조작하지 않는다. IIFE, module, closure, 스코프를 나누는 방법등을 사용하도록 한다. 전역공간 window: 브라우저 환경에서 최상위 객체, 웹 API 인터페이스들을 가지고 있음 global: node.js 에서 최상위 객체 # 하나의 html에 두개의 자바스크립트 파일을 사용하는 경우 # 전역공간을 사용하면 서로 다른 파일에서 변수 사용이 겹칠 수 있기 때문에 위험함 # index.js var globalVar = 'global'; console.log(globalVar) // glob..
-
[클린코드 자바스크립트] 함수 스코프 & 블럭 스코프 (function scope, block scope)개발/javascript 2022. 3. 2. 21:13
* 클린코드 자바스크립트 강의를 정리하고자 작성한 게시글입니다. function scope & block scope 함수단위 스코프 : var 블럭단위 스코프 : const, let var 사용은 지양한다. 왜 ? 잦은 변수 사용을 하면 값이 바뀌는 경우가 생길 수도 있음. 짧은 소스코드는 괜찮지만 소스코드가 더 길고 복잡할 수록 버그 발생이 생기기 쉬움. const는 재할당만 금지한다. 객체, 배열의 조작은 가능하다. # var 사용을 지양하는 이유 var global = '전역'; if(global === '전역') { var global = '지역'; console.log(global) // 지역 } console.log(global) // 지역 -> 값이 바뀌는 불안요소가 있음. # 함수단위 스코..
-
[jquery] 이미지 파일 미리보기 (file, image)개발/jquery 2022. 1. 7. 17:35
웹에서 input type='file' 인 입력 항목에 이미지 파일을 선택했을 때 이미지 파일이 바로 화면에 보이게 하는 미리보기 기능을 사용할 때가 있다. 구현 방법은 간단하다. file 태그에 변경이 이루어지면 image 파일인경우 미리보기를 하려는 img 태그에 파일 정보를 넣어주면 된다. 이미지를 미리 보여주기 전에 파일의 확장자를 체크하거나 파일의 용량을 확인하는 사전 작업이 수행되면 더 좋은 코드가 될 것 같다. 구현 코드 # html 화면 $("#imageFile").on("change", function(event) { var file = event.target.files[0]; var reader = new FileReader(); reader.onload = function(e) { $..
-
[RESTful Service] Validation 사용개발/Spring boot 2021. 7. 14. 21:48
도메인에 적절한 validation 어노테이션을 추가하여 사용한다. @AssertFalse: false 이어야 한다. @AssertTrue: true 이어야 한다. @DecimalMax(value=, inclusive=): inclusive=false 이면 지정된 최대값 보다 작은지 확인, inclusive=true 이면 값이 지정된 최대값보다 작거나 같은지 확인한다. @DecimalMin(value=, inclusive=): inclusive=false이면 지정된 최소값 보다 큰지 확인, inclusive=true 이면 값이 지정된 최소값보다 크나 같은지 확인한다. @Digits(integer=, fraction=): integer=와 fraction=에 의해 지정된 자리수의 숫자인지 확인합니다 @Em..
-
[jQuery] 선택자를 사용하는 방법개발/jquery 2021. 5. 28. 22:06
jQuery를 사용하여 DOM 객체를 선택하는 경우가 많은데 항상 헷갈리고 실전에서 많이 사용했던 선택자에 대해서 정리해 보았다. 1. 자손 선택자 / 후손 선택자 - 자손 선택자: 기준이 되는 태그 바로 하위에 위치한 선택자를 칭하며 '요소A > 요소B' 로 사용한다. $("body > div").css("color", "red"); - 후손 선택자: '요소A 요소B' 로 사용하며 요소A의 후손을 범위로 선택한다. $("body *").css("color", "blue"); // body 태그 아래 모든 태그들을 범위로 칭한다. 2. 속성 선택자 - 요소[속성=값]: 속성과 값이 같은 문서 객체를 선택한다. - 요소[속성|=값]: 속성 안의 값이 특정 값과 같은 문서 객체를 선택한다. - 요소[속성~=..