본문 바로가기
JAVA Script

23.02.13(자료형, 출력, 입력대화상자, 템플릿리터럴, 연산자

by 2023코딩시작 2023. 2. 13.

😀

😀

 

 

* 자바스크립트(JavaScript)?
  - 정적인 웹이란 개념이 나왔는데 텍스트나 이미지를 사용해서 사용자에게 정보를 보여주기만 하는 웹을 가리킴. 
   즉, 회사 소개 사이트나 개인 프로필 사이트처럼 화면에 보여주는 것이 전부인 웹 사이트를 말함.
  - 이런 정적인 웹에서 자바스크립트는 간단한 애니메이션이나 동적인 효과를 보여 주기 위한 용도로 사용이 되었음.
  - 자바스크립트는 HTML 페이지와 어울어져서 웹 페이지 내의 여러가지 요소를 다이나믹하게 제어하는 기술을 말함.
  - 자바스크립트는 개발자가 만든 문서에 방문자가 방문하여 어떤 동작을 취했을 때 그 동작에 대하여 반응이 일어날 수 있도록 해 주는 언어.
  - 자바스크립트는 웹 브라우저에서 사용하기 위해서 만들어진 프로그래밍 언어. 
   이 언어는 1990년대부터 주로 웹 브라우저 상에서 UI를 동적으로 보여주기 위해서 사용해 왔음. 
   기존에는  브라우저에서만 사용해 왔던 언어인데, 
   이제는 단순히 웹 페이지 에서만 국한되지 않고 서버 쪽에서도 사용되는 언어로 발전하고 있음.
  - 웹이 계속 발달할수록 자바스크립트의 역할은 점점 더 커지고 자바스크립트에 새로운 기능도 더 많이 추가되고 있음.
    
    
* 서버 쪽 주요 언어
  - ASP, PHP, JSP, Spring 등등
  

* 클라이언트 쪽 주요 언어
  - HTML : 홈페이지를 구현하기 위한 뼈대가 되는 핵심적인 기술의 마크업 언어.
  - 자바스크립트 : 로컬 브라우저에서 실행되는 인터프리터 방식의  프로그래밍 언어.
  - CSS : HTML은 뼈대이고, 자바스크립트가 기능이라면, CSS는 꾸미기 위한 옷의 기능.
  - JQuery : 자바스크립트 코드가 길어지면 사용이 복잡해 지는 단점을 파격적으로 개선한 자바스크립트 기반의 라이브러리.
             
             
* 자바스크립트 언어의 특징.
  1. 자바스크립트는 인터프리터 언어이다. (@한문장씩 실행)
     - 코드가 작성된 순서대로 맨 윗줄부터 순차적으로 구문을 분석하여 실행을 함.
     - 코드에 문제가 생기면 에러가 발생한 이전까지만 구문을 분석하여 실행을 하고, 
       에러가 발생한 다음줄 부터는 구문을  분석하지 않음.
       
  2. 자바스크립트는 클라이언트 스트립트 언어이다.
     - 자바스크립트는 서버에서 실행되는 것이 아니라, 사용자(방문자) 컴퓨터에서 실행이 됨. 
                따라서 서버의 부하를 줄여줄 수 있음.
       
  3. 객체 기반 언어이다.
     - 자바스크립트는 객체를 기반으로 한 언어임. 
      다양한 객체가  존재하며, 그에 해당하는 다양한 기능(메서드-함수)들이 존재함.
       
  4. 공개된 언어이다.
     - 최근에 자바스크립트의 활용 범위가 넒어지면서 이미 개발된 코드를 단순히 복사하고 붙여 넣는 것이 아니라, 
                검색을 하면 다양한 소스들이 오픈이 되어 있음.
       
  5. 다양한 라이브러리를 활용할 수 있음.
     - 자바스크립트의 대표적인 라이브러리 언어는 제이쿼리(JQuery)임.
       자바스크립트를 이용하여 다양한 기능들을 쉽게 구현할 수 있도록 만들어 놓은 함수들의 집합을 이용하면
       쉽게 구현이 가능함.

 

// 자바 스크립트에서 한 줄 주석
/* 
자바 스크립트에서 여러 줄 주석
- 주석은 프로그램 코드를 설명할 때 사용하며,
     프로그램 실행에는 전혀 영향을 주지 않음
*/

console.log("Hello, JavaScript!")

/* 
console.log()는 주로 디버깅 시에 필요한 정보를 출력할 때 사용함
==> 디버깅 도구

- 디버깅 : 개발 시 문법적으로 보면 전혀 문제가 없는데도
어떠한 경우에는 정삭적으로 동작을 하고, 
어떤 경우에는 동작이 제대로 안 되는 경우가 발생함
프로그램에서는 이런 것을 논리적인 오류인 버그라고 부름.
이러한 버그를 찾아서 없애는 작업을 하는 것을 디버깅이라고 말함.

- console.log() 기능을 크롬과 사파리 브라우저에서만 사용이 가능함.
*/

 

<!-- 외부에 있는 자바스크립트 파일을 불러와서 실행하는 방법 -->
<script type="text/javascript" src="../js/console.js"></script>

 

/* 
자바스크립트에서 데이터를 출력시키는 방법 - 3가지

1. console.log() 를 이용하는 방법
2. document.write() 를 이용하는 방법
3. alert() 를 이용하는 방법
*/

 

/* 
2. document.write() 를 이용하는 방법
==> HTML의 body 태그에 괄호 안의 내용을 출력해 주는 함수
웹 브라우저 화면에 출력해 주는 함수
*/
document.write("<h2>안녕하세요</h2><br>");

 

/* 
3. alert() 를 이용하는 방법
   ==> 웹 브라우저 화면에서 간단한 알림 내용을 표시할 때 사용하는 함수
*/

alert("하이");

 

/* 키보드로 입력받는 방법(prmopt) , 자료형은 데이터가 들어와야지 잡힘*/
<body>

<script type="text/javascript">
	var name = prompt("이름을 입력하세요");
	
    document("<b>" + name + "</b>님 환영합니다");
</script>

 

 

/*
  * 자바스크립트에서의 변수와 상수
  - 변수 : 데이터를 저장하는 공간. 데이터가 변할 수 있음.
          물건을 보관했다가 필요할 때 다시 꺼내 사용하는 일종의 창고라고 생각하면 됨.
          보관하는 내용이 물건이 아니라 데이터라는 점.
          ※ 특히 자바스크립트는 변수에 숫자와 문자 뿐만 아니라 함수와 클래스까지 저장이 가능함.
  - 상수 : 데이터를 저장하는 공간. 데이터가 변할 수 없음.
  
  * 변수를 선언하는 방법
   형식) var 변수명 = 값; (variable)
    // var의 의미 : 자바스크립트에서 변수 선언을   의미하는 키워드.
    
    let 변수명 = 값;
    // ECMA ES6 이후 버전부터 사용함.
       
  * 상수를 선언하는 방법
   형식) const 상수명 = 값;
  
  
  * 자바스크립트에서의 자료형
    - 숫자형(number) : 숫자를 표현하는 자료형. 
       숫자 안에서도 정수, 실수로 구분이 되는데
           자바스크립트에서의 숫자 자료형은 그 종류들을 하나로 총괄함.
           십진수와 실수형은 일반적으로 사용하는 숫자.
           하지만 16진수는 글자색이나 배경색을 나타낼 때 사용함.
           예) var age = 17;
        var color = 0xF00; (빨간색)
                 
    - 문자형(string) : 홑따옴표 또는 쌍따옴표를 양 끝에 두고,
                그 안에 한 글자 이상의 문자가 있는 자료형을 문자형이라고 함.
               예) var name = "홍길동";
              
    - 논리형(boolean) : 참(true) 또는 거짓(false) 두 가지 값을 가지는 자료형.
                      
    - typeof 연산자 : 해당 변수의 자료형을 알려주는 연산자.
    
    - 함수형(function)
    
    - 클래스(class)
    
    - undefined : 일반적으로 변수를 만든 후 초기화하지  않은 상태를 말함.
                     예) let data;
                      alert("data >>> " + data);
    
    - null : 아무 것도 참조하고 있지 않다는 의미.
              비어 있는, 존재하지 않는 값을 의미함.
              주로 객체를 담을 변수를 초기화할 때 많이 사용이 됨.
             
    - NaN : Not A Number.
            즉, 숫자가 아닌 데이터를 숫자처럼 사용할 때 나타나는 자료형.
           변수를 선언만 하고 값이 할당되지 않은 상태에서
           그 변수를 더하거나 빼는 연산에 사용이 되면 나타남.
            
   
   * 변수명 작성 규칙
     1. 영문 대/소문자, 숫자, _ 또는 $ 만을 사용할 수 있음.
     2. 변수명의 첫 글자로 숫자가 오면 안 됨.
     3. 변수명은 대소문자를 구별함.
        ==> SUM과 sum은 다른 변수명으로 인식.
     4. 변수명 작성 시 소문자로 시작.
     5. 공백이 들어가면 안 됨.
     6. 변수명을 사용 시 되도록 의미를 부여해서 작성하는 것이 좋음.
     7. 자바스크립트 예약어를 사용할 수 없음.
         예) document, do, for, var 등등
     8. 두 단어 이상을 결합해서 변수명을 사용 시 낙타봉 표기법 (CamelCase)을 권장함.
*/

 

/* 
변수 재선언 및 재할당
- var를 사용한 변수는 재선언과 재할당을 할 수 있음
- 간단한 소스라면 변수를 모두 기억할 수 있지만, 
     수천 줄이나 수만 줄의 소스를 작성하다 보면 실수로 같은 이름을 가진 변수를 다시 선언할 수 있음.
     이러한 작업을 여러 사람들과 공동으로 작업을 한다면 더욱 위험해 질 수 있음
*/

var x = 10;

var sum = x + y;

var y = 20;

console.log("sum >>> " + sum);

 

 

/* 
호이스팅(hoisting)
- '끌어 올린다' 라는 뜻
- 상황에 따라 변수의 선언 부분을 가장 위쪽으로 끌어올리는 것을 말함.
- 자바스크립트 해석기가 함수 소스를 훑어보면서 변수는 따로 기억을 해 둠.
    즉, 변수를 사용하기 전에라도 '이런 변수가 있구나' 라고 기억을 해 둠.
    변수가 선언되기만 하고 값이 할당되지 않은 상태에서 sum 변수에서 사용이 된다면,
  NaN이 나타나게 됨
*/

let str = "홍길동";

// let str = 178; // 변수명 중복 error 발생
console.log(str);

 

/* 
자바에서의 입력 대화 상자 - 3가지
1. alert() : 알림(경고) 창
   - 특정 정보를 사용자에게 메세지 창으로 알려 주기 위해 주로 사용됨
      예 ) window.alert("알림 내용 또는 경고 내용");
      alert("알림 내용 또는 경고 내용");
      
2. confirm() : 확인 창
   - 확인 또는 취소 버튼이 나타나는 알림창
      예) window.confirm("문자열");
      confirm("문자열");

3. prompt() : 입력 창
   - 키보드로 데이터를 입력받을 때 사용하는 알림창
       예) window.prompt("문자열", [초기값 - 생략 가능]);
       prompt("문자열", [초기값 - 생략 가능]);
*/
let ampm = confirm("지금은 오전입니까?");

console.log(ampm); // true or false값 반환

 

/* 
Number() 함수
- 괄호 안에 값을 넣어 주면 숫자로 변환해 주는 함수

parseInt() 함수
- 괄호 안에 값을 넣어 주면 숫자로 변환해 주는 함수
*/
let x = prompt("당신의키는?);
document.write(Number(x));

let y = parseInt(prompt("당신의키는?));
document.write(y);

 

/* 
템플릿 리터럴 방식
- 템플릿 리터럴은 문자열과 변수, 식을 섞어서 하나의 문자열로 만드는 표현 방식을 말함
- 템플릿 리터럴 이전에는 문자열 부분을 큰 따옴표로 묶은 후에 연결 연산자인 '+'를 사용하여 식이나 변수와 연결하였음.
     하지만, 변수나 식이 많아질수록 오타가 나올 확률이 많게 됨
- 템플릿 리터럴은 백틱(``)을 이용해서 문자열을 만듦
- 템플릿 리터럴 안에 변수나 식이 들어간다면 ${} 로 묶어서 처리하면 됨
*/

document.write(`나의 키는 ${x} 입니다`);

 

/* 
관계(비교) 연산자
- >=, >, <=, <, ==, !=, ===
- 관계연산자의 결과값은 항상 boolean형으로 나온다
*/

 

/*
==(동등연산자)
- 동등연산자는 비교 대상 값의 자료형이 다른 경우 강제로 형을 바꾼 뒤에 비교를 함
- 좌변항과 우변항을 비교하여 값이 자료형과 상관없이 
    내용이 같다고 한다면 true값을 반환, 내용이 틀리면 false값을 변환함
*/

let su3 = "1000", su4 = 1000;

document.write(`${su3 == su4}`);

==> true

 

/* 
===(일치연산자)
- 일치연산자는 좌변항과 우변항의 내용이 정확하게 같을 때 true, 다르면 false값을 반환
- 좌변항과 우변항의 값이 같고, 좌변항의 자료형과 우변항의 자료형이 일치하면 true, 
    일치하지 않으면 false값을 반환
- 즉 내용 뿐만 아니라 자료형까지 일치해야 true값을 반환
*/

let su3 = "1000", su4 = 1000;

document.write(`${su3 == su4}`);

==> false

 

😀

//논리연산자(&&, ||, !)

조건식에서 ==> 0은 false 그 외의 정수는 true로 판별됨

// 단항(증감)연산자 (++,--)

 

 

/* 
자바스크립트에서 제어문의 종류
1. 조건문 : if문, if~else문, 다중if~else문, switcha~case문
2. 반복문: while문, do~while문, for문
*/
// 조건식에 0, null, "", undefined ==> false

 

 

 

 

댓글