Dev- 썸네일형 리스트형 자바 스크립트 함수 선언방식의 차이 1. 함수 리터럴function func() { ... }2. 함수 표현식(변수에 할당)let func = function() { ... };3. 함수 선언문/** * 선언보다 나중에 함수가 정의되어도 실행이 된다. * (함수 호이스팅) */ func(); function func() { ... } 위 방식에는 주요한 차이점 2가지가 존재한다.1. ';'의 작성 권고 유무- 1.은 블럭의 의미- 2.는 변수 선언의 의미이므로 만일의 경우 심각한 에러를 불러올 수 있다.2. 사실 2번은 내부적으로 아래와 같이 변형된 후 사용된다.let func = function func() { ... };그래서 func()와 같이 외부에서 호출해서 쓸 수 있는 것. 3. 3.은 함수 호이스팅이 가능- 권장되지 않음 아래.. 자바스크립트 배열 리터럴의 요소, 프로퍼티의 차이점 let arr = ['a', 'b', 'c']; arr.name = 'joon'; arr.school = 'banchon'; /** * arr.length는??? : 3 * * 배열도 __proto__로 Object를 가지기 때문에 * 프로퍼티도 가질 수 있다. * but 프로퍼티 != 배열의 요소 */ 모든 '요소 출력'for (let i = 0; i < arr.length; i++) { console.log('arr[' + i + '] = ' + arr[i]); }arr[0] = amain.js:20arr[1] = bmain.js:20arr[2] = c 모든 '프로퍼티' 출력for (let property in arr) { console.log('property:' + property + ', ' +.. Requested JSON parse failed. [Failed], parsererror에러 해결법 나의 경우는 dataType: 'application/json',dataType: 'json', 한참 걸렸다. 캘린더(달력) 세팅 함수 - 자바 스크립트 퍼블리셔가 달력을 그냥 하드코딩 해 줘서 갑자기 만들어야 했던 달력나중에 쓸 일이 있을라나 싶기도 하지만 저장 /** * 달력 세팅 함수 * 0 : 1월 ~ * 1 : 1일 ~ * 0 : 일요일 ~ * @param targetMonth */ setCalendar(year, month, target) { let targetFirstDay = this.cmsUtil.getFirstDay(year, month); let targetLastDay = this.cmsUtil.getLastDay(year, month); let targetFirstDay_date = targetFirstDay.getDate(); let targetLastDay_date = targetLastDay.getDate(); let targ.. 자바 논리연산자 &, |와 &&, ||의 차이 많은 자바개발자들이 아래와 같이 논리연산자를 무의식적으로 2개씩 사용한다.if (A && B) { ... } if (A || B) { ... } 사실 아래와 같이 하나만 사용해도 된다.if (A & B) { ... } if (A | B) { ... } 두개의 차이는 무엇일까..? A라는 앞의 조건을 검사 한 후,최종 결과가 B와는 상관이 없을 때, 그럼에도 B를 판별(&, |)해보느냐, 스킵해주냐(&&, ||)의 차이다. 별거 아니지만 소소하게 불필요한 코드를 줄일 수 있다.뭐가 더 좋은건 아니라고 한다.(cf. 자바스크립트도 동일한 것으로 알고 있다.) 아래 참고/** null --> Student의 name에 null을 집어넣었다. */ Student student = new Student(1, nu.. LEFT OUTER JOIN 추가 제약조건(WHERE, ON의 차이) JOIN 자체를 잘 안써서 몰랐는데, JOIN절의 ON과 WHERE은 같은 역할을 하는게 아니었다.세개의 테이블을 LEFT OUTER JOIN 한 뒤, 검색이 필요한 쿼리를 짰는데, 검색이 생각대로 되지 않았다. - 처음 잘못 실행한 쿼리SELECT AAA.aa, BBB.bb, CCC.cc FROM AAA AS A LEFT OUTER JOIN BBB AS B ON A.B_seq = B.seq LEFT OUTER JOIN CCC AS C ON A.C_seq = C.seq AND 추가 제약조건 --------> 제약조건이 오른쪽에 걸려서 원하는 결과가 나오지 않는다. - 원하는 결과가 나온 쿼리SELECT AAA.aa, BBB.bb, CCC.cc FROM AAA AS A LEFT OUTER JOIN BBB .. 자바스크립트 replaceAll을 하고 싶을때 let str = 'ab,cd,d,e';위와 같은 문자열에서 ','을 모두 공백으로 치환하고 싶을 때, /*** 맨 앞 하나만 바뀐다. 결과: abcd,d,e */ let newStr1 = str.replace(',', '');--> 원하는 결과가 나오지 않는다./*** 원하는 결과: abcdde */ let newStr2 = str.replace(/,/gi, '');--> 정규식을 사용해야 한다. ------------------------- 수정정규식을 모른다면, 이게 제일 속 편한 것 같다value.split('.').join(''); input 태그 name name값은 겹쳐도 상관없다. 1. 하나의 객체에 바인딩 하려고 한다면, 배열처럼 인덱스를 지정해줘 해당 name을 가진 property로 리스트형태로 받을 수 있고,2. 만약 한 페이지에 전송해야 할 폼이 n개 존재하고, 바인딩 시켜줘야 할 객체도 n개일 때,두 객체가 같은 이름의 property를 가졌다고 해도, name과 일치만 하면 바인딩을 시켜주기 때문에 신경쓰지 않아도 된다. 초반에 name은 무조건 고유한 값을 가져야 한다는 강박을 가졌었는데, 혹시나 나와같이 쓸데없는 고민을 하는 사람이 없었으면 한다. 이전 1 2 3 4 5 6 7 8 ··· 15 다음