숫자형

  1. 정수 - 소수점이 없는 숫자 , 표현 방법에 따라 8진수, 10진수, 16진수
  2. 실수 - 소수점이 있는 숫자, (! 자바스크립트에서는 정밀한 실수 계산을 못 함)
부동소수점 방식으로 숫자를 표현하는 이진법의 한계 때문에 발생하는 문제입니다.
부동소수점 방식은 소수점 위치가 고정되어 있지 않고, 이진법으로 숫자를 표현하기 때문에 
무한 소수의 경우 근사값으로 표현되어 오차가 발생할 수 있습니다.

무한 소수(infinite decimal)란, 소수점 이하의 자리수가 무한히 반복되는 소수를 말합니다. 
예를 들어, 1/3을 소수로 나타내면 0.3333...과 같이 소수점 이하가 무한히 반복됩니다. 
이러한 소수는 유한한 자리수로 정확히 표현할 수 없기 때문에, 근사값으로 표현하거나, 
무한 반복되는 자리수를 생략하여 유한한 자리수로 표현해야 합니다.

 

문자형 - 홑따옴표,쌍따옴표로 표기 한다.

논리형 - true, false

undefined - 자료형이 정의 되지 않았을때의 상태

null - 처음에 할당 된 값이 더이상 유효 하지 않다는 의미

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
       let first;
       console.log(first);
       let second = 100;
       console.log(second);
       second = null;
       console.log(second);

    </script>
</body>
</html>

배열 - 하나의 변수에 여러 값을 저장, 인덱스 0 부터시작, [] 대괄호를 사용한다.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        let store = ["바지","상의",100, true];
        console.log(store);
        console.log(store[3]);
        console.log(store[2]);
        console.log(store[1]);
        console.log(store[100]);
    </script>
</body>
</html>

객체 - 여러 자료형 을 중괄호 { } 로 묶는 것 , 키(key), 값(value)을 한 쌍으로 여러 자료형을 저장한다.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        let student = {
            firstName : "홍아",
            lastName : "항아",
            age : 30,
            address : "부산"
        };
        console.log(typeof student);
        console.log(student.firstName);
    </script>
</body>
</html>

자바스크립트 자료형의 특징

느슨한 자료형 체크(weak datatype check) 자바스크립트는

미리 변수의 자료형을 지정하지 않음 변수를 지정하고 원하는 값을 할당만 하면 됨

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div>
        <label for="">원래 가격: </label>
        <input type="text" id="originPrice"> 원
    </div>
    <div>
        <label for="">할인율: </label>
        <input type="text" id="rate"> %
    </div>  
    <button onclick="showPrice()">할인된 가격 계산</button>
    <br>
    <div id="showResult"></div>
    <script>
        function showPrice(){
            let originPrice = document
            .querySelector("#originPrice").value;

            let rate = document.querySelector("#rate").value;
            
            let calcPrice = originPrice * (rate/100);
            let resultPrice = originPrice - calcPrice;

            //백틱 ``
            document.querySelector("#showResult")
            .innerHTML = `상품의 원래 가격은 ${originPrice} 이고, 
            할인율은 ${rate}% 입니다. 할인된 금액 ${calcPrice}을 적용하여,
            ${resultPrice} 입니다`;

        }

    </script>
</body>
</html>

'JS' 카테고리의 다른 글

이벤트  (0) 2023.05.04
함수  (0) 2023.05.04
연산자  (0) 2023.05.04
js 소스를 작성 할 때 지켜야 할 규칙  (0) 2023.05.04
JS 기본 정리  (0) 2023.05.04
대소문자를 구별하여 소스를 작성한다
읽기 쉽게 들여쓰는 습관을 들인다
세미콜론으로 문장을 구분한다
소스에 메모하려면 주석을 사용한다
// 한 줄 주석
/* 여러 줄
주석도 사용할 수 있습니다. */

식별자(변수)는 정해진 규칙을 지켜 작성한다
예약어는 식별자(변수)로 사용할 수 없다
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div id="result"></div>

    <script>
        function calcAge() {
            let currentYear = 2023;
            let birthYear = 2000;
            let age;
            age = currentYear - birthYear;
            document.querySelector("#result").innerHTML = "당신의 나이는 : " + age + "입니다";

        }
        //함수 호출
        calcAge();
    </script>


</body>

</html>

'JS' 카테고리의 다른 글

이벤트  (0) 2023.05.04
함수  (0) 2023.05.04
연산자  (0) 2023.05.04
자료형  (0) 2023.05.04
JS 기본 정리  (0) 2023.05.04
**기본 개념**

자바스크립트(JavaScript)는 웹 브라우저에서 동작하는 스크립트 언어 중 하나입니다.
HTML, CSS와 함께 웹 프로그래밍을 할 수 있도록 고안되었으며, 다양한 용도로 사용됩니다.

자바스크립트는 기본적으로 클라이언트 측에서 실행되는 스크립트 언어로, 
웹 페이지를 동적으로 만들고, 사용자와 상호 작용하는 기능을 구현할 수 있습니다.
예를 들어, HTML 요소의 속성 값을 변경하거나, 이벤트 핸들러를 등록 하여 사용자의 동작에 따라 새로운
기능을 수행하도록 할 수 있습니다. 또한, AJAX를 이용하여 서버와 비동기적으로 데이터를 주고받는 기능을 구현할 수도 있습니다.

자바스크립트는 브라우저를 제어하는 데 주로 사용되지만,
Node.js와 같은 서버 측 프레임워크를 이용하여 서버 측에서도 사용될 수 있습니다.

이러한 이유로, 자바스크립트는 현재 가장 널리 사용되는 언어 중 하나이며, 다양한 분야에서 사용되고 있습니다.

컴파일러 VS 인터프리터

인터프리터 언어는 실행 시간에 소스 코드를 해석하여 실행하는 언어로, 
코드를 컴파일하지 않고 바로 실행합니다. JavaScript 엔진은 소스 코드를 바로 실행할 수 있는 중간 
코드로 변환하는 Just-In-Time 컴파일러를 사용하여 코드를 해석하고 실행합니다.

그러나 최근 JavaScript 엔진은 기계어 코드를 생성하는 옵티마이저를 갖추고 있어, 
컴파일러 언어와 유사한 성능을 낼 수 있습니다. 이러한 이유로 일부 전문가들은 JavaScript를 
컴파일 언어로 분류하기도 합니다.

결론적으로, JavaScript는 일반적으로 인터프리터 언어로 분류되지만, 
최근의 개발 동향으로 봤을 때 컴파일러 언어와의 경계가 점점 흐려지고 있습니다.

먼저 알고 있어야 할 사전 지식

웹 페이지가 로드 되면 브라우저는 페이지의 문서 객체 모델을 생성 합니다 .

HTML DOM 모델 은 Objects 트리로 구성됩니다 .

DOM Tree 통해 JavaScript는 동적 HTML을 생성하는 데 필요한 모든 기능을 얻을 수 있습니다.

HTML 요소를 변경
HTML 속성을 변경
새로운 HTML 요소와 속성을 추가
페이지의 모든 CSS 스타일을 변경
HTML 요소 및 속성을 제거

페이지에서 새로운 HTML 이벤트를 생성
페이지의 모든 기존 HTML 이벤트에 반응

 

'JS' 카테고리의 다른 글

이벤트  (0) 2023.05.04
함수  (0) 2023.05.04
연산자  (0) 2023.05.04
자료형  (0) 2023.05.04
js 소스를 작성 할 때 지켜야 할 규칙  (0) 2023.05.04

+ Recent posts