JavaScript

[JavaScript] 기초지식, Datatype, 데이터 입력, 자료형 변환, 예제

SangRok Jung 2022. 4. 6. 23:17
반응형

 

▶ 자바스크립트(JavaScript)

웹브라우저에서 웹 객체를 제어하기 위한 스크립트 프로그래밍 언어. 

→ 웹의 Element를 제어한다.

 

 

더보기

HTML : 정보

CSS : 디자인

JavaScript : 정보와 디자인을 제어한다.

 

자바스크립트의 특징

  • 모든 웹 브라우저에서 사용 가능한 유일한 언어.
  • React, Angular, Vue.js, Backbone.js, JQuery 등 고급 라이브러리의 기반 언어
  • Back-End 영역까지 확대 (Node.js)
  • 데스트톱 및 모바일 애플리케이션의 개발에 확대
  • 애플리케이션 내장 언어로 활용 – Google Apps, MINECRAFT 등.

 

* JavaScript 표준

ECMAScript (유럽컴퓨터제조협회), ES6를 주로 사용.

 

 

 

 

 


 

 

 

 

 

 

▶ 브라우저의 모든 기능(사용자 기능, 시스템 기능, Element set)을 JavaScript가 Handling 할 수 있다.

 

<head>에서 handling.

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>Document</title>

    <script>
            console.log("Hello World")

            alert('HI World')
    </script>
</head>
<body>
    
</body>
</html>

 

<body>에서 handling.

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>Document</title>

    <script>
         
    </script>
</head>
<body>
        <script>
                document.body.innerHTML += "<h1>Hello world</h1>"
                document.body.innerHTML += "<h1>Hello Korea</h1>"

        </script>

</body>
</html>

 

 

* REPL(Read - Eval - Print loop) 단일 사용자의 입력을 취하고 이를 평가(실행)하고 결과를 사용자에게 반환시키는 단순한 상호작용 컴퓨터 프로그래밍 환경이다.

 

 

 

 

 

 

 

 


 

 

 

 

 

 

▶ 사전 지식

ExpressionStatement

  • Expression(표현) : 값을 만들어 내는 코드

EX) 4+5

  • Statement : 표현식이 모인 문장, 또는 값을 만들지 않는 문장

EX) console.log('abc');

  • 세미콜론은 ASI에 의해 자동을 삽입되나 명시적으로 붙여준다.

 

주석

  • //  : <script> 영역에서 사용한다.
  • /**/  : <script> 영역에서 사용한다.
  • <!-- -->  : 비 <script> 영역에서 사용한다.

** ASI : Automatic semicolon insertion

 

코딩 스타일

  • JAVA의 코딩 스타일을 그대로 사용한다.

 

VSCode 멀티커서

  • Ctrl+Alt  : 키보드를 이용한 멀티 커서
  • Alt+클릭   : 마우스를 이용한 멀티 커서

 

VSCode 폰트변경

  1. consolas 폰트가 기본이나 한글+영문 사용 시 글자 크기가 맞지 않음.
  2. D2 Coding : https://github.com/naver/d2codingfont
  3. D2 Coding-Ver1.3.2-20180524.zip 1.3.2 배포 다운로드
  4. 압축을 풀고 D2CodingAll\D2Coding-Ver1.3.2-20180524-all.ttc 실행
  5. 설치 버튼 클릭
  6. VS-Code의 설정에서 Font Family를 D2Coding으로 수정

 

 

 

 

 

 


 

 

 

 

 

 

 

▶ DATA TYPE

자료형의 분류

  • 기본형 (Primitive type)과 객체형 (Object type)으로 분류한다.
  • ES6에서 Symbol type이 기본형에 추가되었다.

undefinded : 모른다. / null : 없다.

 

 

String type

  • “string”와 ‘string’를 둘 다 사용 (전통적으로 ‘string’을 사용)
  • ES6에서 template string기능이 추가되면서 `string` (backtick)도 사용
  • 문자열 합연산 : 문자열 + 문자열
  • 인덱스 연산 : [n]
  • 길이 : .length

 

 

number type

  • 숫자형
  • 20, 20.5 등으로 표현, 정수형과 실수형의 구별을 하지 않음.
  • +, -, *, /, % 연산 사용
 

boolean 자료형 (bool자료형)

  • true, false
  • 논리 연산자 적용
  • !, ===, !==, >,>=, <, <=
  • &&, ||
  • ==, != (피연산자의 자료형이 다를 경우 형변환이 발생)

 

더보기

- && (AND) 두 조건이 만족하면 true.

- || (OR) 한 조건이 만족하면 true.

- AND연산이 OR연산 보다 높은 우선순위를 가진다.

- 가시성을 위해서 true || (false && true)로 표기한다.

 

 

자바 스크립트는 최대한 결과를 출력하려는 성질을 가지고 있기 때문에 결과에 대해서 100% 신뢰해서는 안된다.
1 == '1'의 답은 숫자와 문자의 비교이기 때문에 비교가 불가능하다.

JavaScript에서 비교를 할 땐 ===을 사용해야 한다.

 

typeof()

  • 자료형의 검사
  • typeof(1)     number
  • typeof(“a”)    string

 

 

변수의 선언

  • var  : ES5의 선언 방식, 모든 변수를 var로 선언, 바꿀 수 있음
  • let  : ES6의 선언 방식, 일반 변수, 값을 바꿀수 있음
  • const  : ES6의 선언 방식, 상수화 변수, 선언과 동시에 초기화
<body>
        <script>
                var value1 = 'apple'		//ES5

                let value2 = 'nike'			//ES6 일반변수

                const vlaue3 = 'Micro'		//ES6 상수와 변수
        </script>
</body>

const

  • const는 바뀔수 없는 변수, 한정자, 개발자로부터 변수를 보호한다.
  • const inputValue = prompt('값을 넣어라.', 'Value');
  • const inputValue = prompt 의 리턴값

 

 

** var는 중복 선언, 스코프문제 등으로 점차 사라지는 추세이며 구형 코드에서 많이 사용. ES6는 ES5를 호환한다.

*Memory Leak : 컴퓨터 프로그램이 필요하지 않은 메모리를 계속 점유하고 있는 현상이다.

 

 

 

 

 

 


 

 

 

 

 

 

데이터의 입력

  • prompt(), 문자열 입력
<body>
        <script>
              const input = prompt('please input your message.', 'message')
              alert(input);
        </script>
</body>

  • confirm(), boolean의 입력
<script>
              const input = confirm('Are you ok?');
              alert(input);
        </script>

 

 

 

 

 

 

 


 

 

 

 

 

 

 

▶ 자료형 변환

number형으로 변환

Number(data)
  • Number(‘123’)  123
  • Number(‘abc’)  NaN (Not a Number)
  • “52” - 0                 52
  • "52" + 1               → 521
  • true - 0                 1
더보기

표준적으로 모든 언어는 내부적으로 Flase는 0으로 정의한다. 하지만 ture는 "false가 아닌 값"으로 정의한다.

 

String 형으로 변환

String(data)
  • String(54.22) → “54.22”
  • String(true)   → “true”

 

boolean형으로 변환

Boolean(data)
  • Boolean(0)        → false
  • Boolean(NaN) → false
  • Boolean(null) → false
  • Boolean(425) → true

 

 

 

 

 

 


 

 

 

 

 

 

 

 

▶ 예제

cm를 입력받아 inch를 출력하는 코드를 작성하시오.

<body>
        <script>
                const input = (prompt('Write down the cm to convert to inch.'));
                let inch = input/2.54;
                alert(cm + 'inch');
        </script>
</body>

 

 

원의 반지름을 입력받아 원의 넓이를 구하는 코드를 작성하시오.

<body>
        <script>
                const input = (prompt('Write down the radius at which you want to find the area of the circle.'));     
                let area = input*input*3.14;
                alert(area);
        </script>
</body>

 

 

 

사과, 복숭아, 딸기 를 unordered list로 출력하는 element자바스크립트로 출력하는 코드를 작성하시오.

<body>
        <script>
                
                document.body.innerHTML = "<ul> <li>사과</li> \
                                                                <li>딸기</li> \
                                                                <li>복숭아</li> \
                                                        </ul>"
        </script>
</body>

* \ : JavaScript의 개행문이다.

\

 

 

 

 

 

 

 

 

반응형