나의 수업일지

인천 일보 아카데미 34 -2- javascript - let , const , var / typeof - 변수 타입 출력 / 등호 == , === / javascript - 객체 / html - events

2023. 4. 10. 17:53
  • javascript의 변수
변수 선언
var num1 = 10;
let num2 = 10;
const num3 = 10;

javascript에서는 따로 변수를 선언하지 않는다.

타입은 존재하지만 따로 쓰지 않는다

(아마 javascript에서는 자동 형변환을 지원하기 때문인듯 하다)

 

 

  • javascript 각 변수의 차이점
변수 선언
var num1 = 10;
let num2 = 10;
const num3 = 10;

var는 let 과 const가 만들어지기 전에 사용되던 변수입니다

var에는 여러가지 문제점이 있는데요

전역변수이기 때문에 변수의 이름을 실수로 동일하게 변경하고 값을 넣는다면

큰 문제가 발생할 수 있기 때문이고 for문 사용에도 for문을 빠져나온 변수가

초기화되지 않는 현상이 있다고합니다 그렇기 때문에 현재는 잘 사용하지 않는다네요

 

 

그렇기에 현재 javascript에서는 let과 const만 사용한다고 봐도 무방합니다

let 말그대로 변수 : 바뀌어도 상관없는 수이고

맨처음 할당한 값 외에도 재정의하여 사용이 가능합니다

const는 상수 : 바뀌지 않는 수인데요

사진을보면 알겠지만 재졍의 하면 오류가 발생합니다

또한 const는 백틱(`)으로 선언할 수 도있는데 다른 프로그램의 문법과 겹치는 부분이기에

순수하게 javascript만 사용하는게 아니라면 (`)을 사용하는 선언문은 잘 쓰지 않습니다

 

 

  • javascript - 뱐수 타입을 출력하는 방법

javascript의 장점이자 단점은 자체적으로 지원하는 자동 형변환입니다

그렇기 때문에 여러개의 변수를 선언하였고 사용하는 경우 실수하는것을 방지하기위해

간혹 변수 타입을 잘 모르겠다면 출력해보고 사용하는 방법도 있겠습니다

let var1 = 10;
console.log("var1 타입:", typeof var1);

 

 

 

  • == 와 === ?

javascript는 자동 형변환을 지원하기 때문에 등호에도 약간 차이가 있습니다

var2 정수 10이고 var3는 문자 10입니다 원래라면 당연히 "둘다 달라요"가 나오는게 맞지만

javascript에서는 ==를 사용하면 자동 형변환을 진행해 비교하기 때문에 "둘이 같다"는 결과가 나오게 됩니다

그렇기 때문에 javascript에서 자동형변환을 하지 않고 비교하기 위해서는 ===를 사용해주어야 합니다

 

 

  • javascript의 객체

변수 A = {
	객체
}

java의 DTO 필드와 Mysql의 테이블을 생각하면 편합니다

 

주로 html에서는 객체를 만들지는 않고 javascript에서 만들어진 객체의 내용물을 하나씩 가져와 사용을합니다

 

객체 안의 정보를 출력하는 양식은 이렇습니다

	 // name 출력
    console.log(book.name);
    // price 출력
    console.log(book.price);
    // ch3의 내용 출력
    console.log(book.index.ch3);

 

 

  • html - events

- onclick

<body>
<!-- 아래 버튼을 클릭하면 fun1 함수 호출 -->
<button onclick="fun1(this)">클릭해보세요</button>
</body>

<script>
    const fun1 = (ele1) => {
        console.log("클릭하셨네요");
        console.log("ele: ", ele1);
    }
</script>

 

- onmouseover , onmouseout

말그대로 이벤트를 설정한 공간 안에

마우스가 올라가거나 내려가는 경우 이벤트를 발생시킵니다

<body>
    <!-- onmouseover , onmouseout 이벤트 -->
    <div id="div1" onmouseover="fun3()" onmouseout="fun4()"></div>
</body>

<script>
    const fun3 = () => {
        console.log("왔네요");
    }

    const fun4 = () => {
        console.log("갔네요");
    }
</script>

 

- onmousedown , onmouseup

이벤트를 설정한 공간을 마우스로 누르거나 , 뗐을때

발동하는 이벤트입니다

<body>
    <!-- onmousedown , onmouseup 이벤트  -->
    <div id="div2" onmousedown="fun5()" onmouseup="fun6()"></div>
</body>

<script>
    const fun5 = () => {
        console.log("눌렀다")
    }
    const fun6 = () => {
        console.log("뗐다")
    }
</script>

 

- onkeydown , onkeyup

키보드를 누르고 떼는 경우 발동되는 이벤트 입니다

<body>
    <!-- onkeydown , onkeyup 이벤트 -->
    <input type="text" onkeydown="fun7()" placeholder="입력해보세요">
    <input type="text" onkeyup="fun8()" placeholder="입력해보세요">
</body>

<script>
    const fun7 = () => {
    console.log("키보드를 눌렀다")
    }
    const fun8 = () => {
        console.log("키보드를 뗐다")
    }
</script>

 

- onblur

text박스나 입력칸을 떠나는 경우

이벤트를 실행합니다

<body>
    <input type="text" onblur="fun9()" placeholder="입력해보세요">
</body>

<script>
    const fun9 = () => {
        console.log("절 떠나셨네요")
    }
</script>

 

'나의 수업일지' 카테고리의 다른 글

인천 일보 아카데미 35일차 -1- DOM - 응용 / DOM - 이미지 변경 /script로 html - style 제어하기 / DOM - 사용 표에 구구단 출력 / DOM - 입력값 이동시키기  (0) 2023.04.11
인천 일보 아카데미 34일차 -3- DOM - Document / DOM - 태그에 내용 추가,수정 / DOM - id로 요소 가져오기 / DOM - class로 요소가져오기  (0) 2023.04.10
인천 일보 아카데미 34일차 -1- form-button? / Input Object의 기본 종류 / 만들어보기 / bootstrap 사용해보기  (0) 2023.04.10
인천 일보 아카데미 33일차 -1- layout 만들기 / mediaquery / grid / / bootstrap / buttons / form / option / radio /checkbox  (0) 2023.04.10
인천 일보 아카데미 32일차 -2- table태그 / ul , ol 태그 / margin , padding / position - 속성 / Float - 속성 / Float 해제후 적용 / Float 메뉴 만들기  (0) 2023.04.06
'나의 수업일지' 카테고리의 다른 글
  • 인천 일보 아카데미 35일차 -1- DOM - 응용 / DOM - 이미지 변경 /script로 html - style 제어하기 / DOM - 사용 표에 구구단 출력 / DOM - 입력값 이동시키기
  • 인천 일보 아카데미 34일차 -3- DOM - Document / DOM - 태그에 내용 추가,수정 / DOM - id로 요소 가져오기 / DOM - class로 요소가져오기
  • 인천 일보 아카데미 34일차 -1- form-button? / Input Object의 기본 종류 / 만들어보기 / bootstrap 사용해보기
  • 인천 일보 아카데미 33일차 -1- layout 만들기 / mediaquery / grid / / bootstrap / buttons / form / option / radio /checkbox
GUPING
GUPING
안녕하세요 개발자를 꿈꾸는 GUPING 입니다
GUPING
개발자를 꿈꾸는 GUPING
GUPING
전체
오늘
어제
  • 분류 전체보기 (89)
    • 나의 수업일지 (88)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Ajax
  • 지식인
  • 파일이름(다중)
  • 페이징
  • 버튼 이벤트 변경
  • 검색결과페이징
  • 버튼 이벤트 함수 변경
  • 답변 채택
  • 검색
  • PAGE
  • 삭제
  • 로그인게시판
  • 여러사진프리뷰
  • 수정
  • 버튼2가지이벤트
  • 페이징Controller
  • 업로드파일이름출력
  • 개힘드렁
  • 네이버
  • 로그인 경고문
  • naver
  • Paging
  • 로그인form
  • 클래스 이름 변경
  • 파일이름가져오기
  • pagingAjax
  • 파일 이름 가져오기
  • 다중프리뷰
  • realative
  • 틀만들기

최근 댓글

최근 글

hELLO · Designed By 정상우.
GUPING
인천 일보 아카데미 34 -2- javascript - let , const , var / typeof - 변수 타입 출력 / 등호 == , === / javascript - 객체 / html - events
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.