[React] Arrow 함수
2022. 3. 21. 20:20
공부/JavaScript
Arrow 함수를 사용하면 함수 바인딩을 하지 않아도 된다. 기본적으로 아래와 같이 작성한다. function=()=>{ console.log("Hello world") } 함수명 = () => {}처럼 작성하면 된다. 이렇게 되면 함수 바인딩을 따로 하지 않아도 된다.
[React] 함수 바인딩
2022. 3. 21. 19:50
공부/JavaScript
아래는 +버튼을 누르면 값이 1 증가하고, -버튼을 누르면 값이 1 감소하는 코드이다. class Counter extends Component{ constructor(props){ super(props) this.state={ num:0 } } increase(){ this.setState({ num:this.state.num+1 }) } decrease(){ this.setState({ num:this.state.num-1 }) } render(){ return( {this.state.num} + - ) } } export default Counter; 그런데 위와 같이 작성하게 되면 오류가 발생한다. 이유는 함수에 사용한 setState를 찾을 수가 없기 때문인데, 이 때 함수 바인딩을 통해서 함수..
[React] 클래스형 컴포넌트, 함수형 컴포넌트
2022. 3. 18. 21:42
공부/JavaScript
클래스형 컴포넌트 클래스형 컴포넌트 이후에 더 편한 함수형 컴포넌트가 나왔지만, 클래스형은 라이프사이클 사용이 용이하다고 한다. import React, {Component} from 'react'; class App extends Component { //class가 필요하고 component로 상속 받는다. render() { //render 메소드가 필요하다. return ( hello world! ) } } 함수형 컴포넌트 클래스형 이후에 나왔고, 초기 세팅도 함수형으로 되어있다. 클래스형보다 사용하기 편리하고, 초기엔 라이프사이클 사용에 제한이 있었지만 리액트 훅으로 보완이 가능하다고 한다. import React from 'react'; import './App.css'; function Ap..
[Jquery] keydown
2022. 2. 19. 16:56
공부/JavaScript
클릭한 키보드 값을 받아온다. 이 때 우리는 아스키 코드로 각 키에 기능을 부여할 수 있다. 아래는 keydown을 이용하여 만든 간단한 피아노이다. $(document).ready(function(){ $(document).on("keydown", keyEventFnc) //이벤트 객체의 정보를 매개변수 e로 받는다. function keyEventFnc(e){ switch(e.keyCode){ case 65: $("#user-id").val("A") const audio_do = new Audio("./audio/1_do.wav") audio_do.play() break; case 83: $("#user-id").val("S") const audio_re = new Audio("./audio/2_re..
[Jquery] scroll, focus, blur
2022. 2. 19. 16:39
공부/JavaScript
scroll 스크롤 위치 값을 반환한다. $(document).ready(function(){ $(window).on("scroll",function(){ var sc_top=$(this).scrollTop(); var sc_left=$(this).scrollLeft(); $("#top").text(sc_top); $("#left").text(sc_left); }) }) focus 선택(focus) 되어 있는 상태에 기능을 추가할 수 있다. $(document).ready(function(){ $("#user_id,#user_pw").on("focus",function(){ $(this).css("backgroundColor","pink") }) }) blur focus가 해제 된 뒤(선택이 되지 않은)..
[Jquery] on 메서드, hover 메서드
2022. 2. 18. 19:51
공부/JavaScript
on 메서드를 사용하면 여러 개의 이벤트를 묶어서 그룹화하여 사용할 수 있고 콤마로 구분한다. $(document).ready(function(){ $("#btn").on({ click:function(){ $("#btn").css("color","red") }, mouseover:function(){ $("#btn").css("color","green") }, mouseout:function(){ $("#btn").css("color","blue") } }) }) 이때 on으로 hover 기능을 하나하나 구현할 필요 없이 hover 메서드를 사용하면 더 간단하게 사용 가능하다. 첫 번째 function에는 mouseover, 두 번째 function에는 mouseout시에 실행할 기능을 설정해준다. $..
[Jquery] addClass, removeClass, hasClass, toggleClass
2022. 2. 17. 23:29
공부/JavaScript
addClass 클래스를 추가한다. function myFunc() { $("#my-div").addClass("my-red") } removeClass 클래스를 제거한다. function myFunc() { $("#my-div").removeClass("my-red") } hasClass 클래스 값이 있는지 검사한다. function myFunc() { $("#my-div").hasClass("my-red") } toggleClass addClass, removeClass, hasClass를 합쳐서 토글 기능을 쉽게 사용할 수 있도록 해준다. toggleClass를 사용하지 않고 토글기능을 구현하려면 다음과 같다. function myFunc() { var result = $("#my-div").has..
[Jquery] attr 메서드
2022. 2. 17. 23:23
공부/JavaScript
Jquery에서는 attr 메서드를 사용하여 속성을 변경하거나 추가할 수 있다. $(document).ready(function(){ $('#my-img').attr("src","./img/cat.jpeg") }) 위와 같이 작성하게 되면 my-img라는 id를 가진 img 태그에 src="./img/cat.jpeg"을 추가하게 된다. 이를 이용하여 다음과 같이 응용이 가능하다. var mode = 'password' function changeMod(){ if(mode=='password'){ $('#pw').attr("type","text") mode='text' $('#btn').text("해제") } else if(mode=='text'){ $('#pw').attr("type","password"..
[Jquery] html, text 메서드
2022. 2. 17. 22:59
공부/JavaScript
html 메서드 html 메서드는 innerHtml과 비슷하다. $(document).ready(function(){ var result = $("#sec-1").html() console.log(result) }) 위 코드는 sec-1의 하위 영역의 모든 내용을 가져오게 된다. text 메서드 innerText와 비슷하다. $(document).ready(function(){ var result = $("#sec-1").text() console.log(result) }) 위 코드는 sec-1의 태그를 제외한 모든 내용을 가져오게 된다. 위 두 코드를 setter로 사용하게 되면 다음과 같다. $(document).ready(function(){ $("#sec-1").html('새로운') $("#sec..