[JavaScript] 중복 체크에 활용하면 좋은 indexOf()
JavaScript 2022. 1. 17. 11:13

개념 indexOf() 생긴 것부터 인덱스의 위치를 알려주는 것처럼 생긴 함수가 있다. 이름은 indexOf()로, String 타입과 Array 타입에서 파라미터안에 있는 특정 문자의 위치를 찾아주는 역할을 한다. 예를 들어, str.indexOf('가')라고 하면 str 변수 안에서 '가' 문자의 인덱스 위치를 반환해준다. (Number 타입에서는 indexOf() 함수가 통하지 않으니 주의해야 한다.) 그냥 인덱스 위치만 알려주는 데 쓸모가 있냐라고 물어본다면, "매우!"라고 대답할 수 있다. 그 이유는 바로 indexOf() 함수를 통해 문자 혹은 배열에 특정 문자가 있는지 "체크"할 수 있기 때문이다. let arr = ['가', '나', '다']; arr.indexOf('가') // 0 arr..

[JavaScript] 자바스크립트 ES5 프로퍼티 descriptor
JavaScript 2022. 1. 14. 10:49

개념 프로퍼티 디스크립터란, ES5부터 지원하는 기능으로 프로퍼티의 속성 이름과 값을 정의한다. 일반적으로 객체를 만들 때, 혹은 객체를 수정할 때 쓰는 기능이라고 생각하면 된다. 그런데 객체를 만들 때 간단하고 쉬운 방법이 많은데, 디스크립터도 꼭 알아야 할까? 디스크립터는 객체의 속성을 추가, 삭제, 금지 할 수 있지만 역으로 하지 못하게 할 수도 있다. 즉, 디스크립터는 보안에 강점을 가지고 있으며 이 뿐만 아니라 알아두면 여러모로 쓸 일이 많은 기능이니까 알아두는 게 좋다. 프로퍼티 디스크립터에는 3가지 분류가 있다. 1) 데이터 프로퍼티 디스크립터 : value, writable 2) 액세스 프로퍼티 디스크립터 : get, set 3) 공용 프로퍼티 디스크립터 : enumerable, confi..

[JavaScript] DOM 이벤트 핸들러 onclick과 onsubmit
JavaScript 2022. 1. 12. 12:24

개념 자바스크립트의 DOM을 공부하다보면, 이벤트 핸들러라는 개념을 쉽게 접할 수 있다. 이벤트 핸들러란, '어떤 이벤트를 실행했을 때, 해당 코드를 실행시켜라'에서 "어떤 이벤트"를 담당한다. 그중에서도 쉽게 접할 수 있는 게 onclick과 onsubmit인데, 처음 이벤트 핸들러를 접하는 사람의 경우 이 두 개념을 혼동할 수 있어서 쉽게 정리해보려고 한다. onclick 동의1 동의2 동의3 submit.onclick = function (){ if (agree1.checked && agree2.checked && agree3.checked){ alert('제출이 완료되었습니다.') } else { alert('모두 동의해주세요.') } } onclick은 말그대로 '클릭 되었을 때'를 뜻한다. b..

[JavaScript] this란 무엇일까?
JavaScript 2022. 1. 10. 11:29

개념 this란 객체에서 빼놓을 수 없는 속성이라고 할 수 있을 정도로 중요한 개념이다. 하지만, 중요한 만큼 헷갈리는 부분도 많다. 우선 쉽게 말하자면 this는 코딩하는 그 순간에는 당장 의미가 없는 아이지만, 호출당하는 순간 그 의미가 발하는 게 this이다. 호출당한 this는 호출당한 객체 그 자신으로 변신하며 그 객체 안의 키 값을 불러오는 역할을 한다. this는 쓰면 유용한 아이지만, 그렇다고 무작정 쓰는 아이도 아니다. 그렇다면 this는 어떨 때 어떤 방식으로 쓰는 게 맞을까? 아래의 4가지 방식만 기억하면 된다. 일반 함수 방식 function hello(){ console.log(this); } hello(); // window 객체가 아닌 일반적인 함수 안에 this를 사용하게 되..

[JavaScript] Math.random()으로 랜덤 값 구하기
JavaScript 2021. 12. 28. 12:10

개념 Math.floor() var value = Math.floor(2.54); document.write(value); // 2 Math.floor() 함수는 소수점 이하의 숫자들을 모두 버리는 역할을 수행하는 함수로 위의 코드처럼 2.54인 경우 2만 살고 .54는 모두 버리면서 결과값으로 2를 반환한다. 비슷한 함수로서 Math.ceil() 같은 경우는 소수점 이하를 올림해버리고, Math.round()는 반올림하는 역할을 한다. Math.random() var i = Math.random(); document.write(i); // 0.XXXXXXXXXXXXX Math.random()의 경우 이름에서 처럼 0 이상 1 미만의 난수를 추출하는 함수이다. 소수점을 처리하는 함수없이 단독으로 쓰일 경..