본문 바로가기

javascript15

JSDoc JSDoc을 사용하면 자바스크립트 소스코드에 타입 힌트를 제공할 수 있다. JSDoc 주석은 /** ... */ 사이에 기술한다. 일반적인 자바스크립트 주석 /* ... */은 무시된다. TypeScript를 사용하는 것처럼 타입을 추론하고 디버깅을 쉽게 할 수 있다는 장점이 있다. 코드에 맞는 JSDoc 태그의 사용법은 https://jsdoc.app/ 에서 볼 수 있다. 변수 /** @type {string} */ let str; /** @type {number} */ let num; /** @type {boolean} */ let bool; /** @type {*} */ let any; /** @type {?} */ let unknown; /** @type { {id: number, content:.. 2022. 8. 30.
배열 중복 제거 Set Set은 unique값만 저장할 수 있도록 하기 때문에 array에 넣게 되면, 중복되는 값이 사라집니다. Set 을 이용하는 것 대신에 Array.from 도 가능합니다. const array = ['0', 1, 2, '0', '0', 3]; [...new Set(array)]; Array.from(new Set(array)); // ['0', 1, 2, 3] Filter filter는 array 내의 각 element 에 조건을 주어, true 값을 return 한 element 만 모아서 새로운 array 를 만드는 것입니다. 반대로 중복값만 가져올 수도 있습니다. const array = ['0', 1, 2, '0', '0', 3]; array.filter(item, index) => ar.. 2021. 6. 30.
javascript 클립보드 복사 execCommand 메서드를 이용하여 클립보드에 복사를 구현할 수 있습니다. 복사 function copyToClipboard(val) { var t = document.createElement("textarea"); document.body.appendChild(t); t.value = val; t.select(); document.execCommand('copy'); document.body.removeChild(t); } const btn = document.getElementById('btn1'); btn.addEventListener('click', () => { copyToClipboard('복사된 텍스트'); alert('복사 완료!'); }); 모든 브라우저에서 호환되기 위해서 clipb.. 2020. 9. 23.
Array의 메서드 some, every some some 메서드는 배열 안의 어떤 요소가 하나라도 주어진 조건을 통과하는지 테스트합니다. 하나라도 true가 있으면 수행을 중단하고 true를 리턴하고, 전체를 돌아도 true가 없으면 false를 리턴합니다. const test1 = [2, 5, 8, 1, 4].some(elem => elem > 10); // false const test2 = [12, 5, 8, 1, 4].some(elem => elem > 10); // true ... const fruits = ['apple', 'banana', 'mango', 'guava']; function checkAvailability(arr, val) { return arr.some(arrVal => val === arrVal); } check.. 2020. 8. 24.
파일명 자르기 lastIndexOf를 사용하면 특정 값을 반대방향에서 부터 찾기 시작합니다. https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf String.prototype.lastIndexOf() lastIndexOf() 메서드는 String 오브젝트에서 fromIndex로부터 반대방향으로 찾기 시작하여 특정 값이 일치하는 마지막 인덱스를 반환합니다. 문자열에서 일치하는 특정 값이 없으면 -1을 리턴합니다. developer.mozilla.org 예로 test.jpg라는 파일에서 .을 기준으로 앞뒤로 자른다면 아래와 같습니다. var a = 'test.jpg'; var b = a.slice(0,.. 2020. 7. 13.
ES6 향상된 객체 리터럴 var test = { word: 10, // ES5 look: function(){ console.log('ES5') }, // ES6 look(){ console.log('ES6') }, // ES5 image: image, // ES6 image } 기존에 객체에 함수를 만들때 look: function(){ ... } 와 같이 만들었지만, ES6에서는 function 을 생략하고 look(){ ... } 처럼 축약해서 만들 수 있습니다. 또, 객체에서 속성과 값이 같으면 한개는 생략하고 사용할 수 있습니다. 2019. 11. 24.