본문 바로가기

HTML, CSS, javascript/이론

javascript - 기초 (1)

변수

자바스크립트는 자료형이 고정되어 있지 않은 동적타입 언어이기 때문에 변수를 선언할때 별도의 자료형을 명시하지 않아도 된다.

1) 자료형

내부적으로는 Primitive(기본형)과 Object(객체형)이 있으며 각각 다음과 같습니다.

Primitive

 - Boolean: true, false

 - null: 빈 값

 - undefined: 변수에 값이 할당되지 않았을 때 나타남.

 - Number: 숫자형으로 정수와 부동 소수점, 무한대 및 NaN(숫자가 아님)등.

 - String: 문자열

Object

 - Reference 타입

 - 클래스 뿐만 아니라, 배열과 함수, 사용자 정의 클래스도 모두 Object.

 - JSON(Java Script Object Notation)의 기본 구조.

1) 변수 선언

 - 변수의 이름은 대소문자를 구별하며, 여러 변수를 한번에 선언할 수 있다.

 - 기본적으로는 소문자로 시작하고 단어가 바뀌면 바뀐 단어의 첫번째 글자를 대문자로 적는 camel case를 사용한다.

 - 지역변수와 전역변수가 있다.

        var box;
        box = 100;
        box = 30;
        document.write(box);

var, let, const

 - var는 지역변수 개념으로 함수 범위에서 유효하며, var를 선언하지 않으면 자동으로 전역변수가 됨.

 - let은 값의 재할당이 가능하고 const는 재할당이 불가능.

 - const로 선언된 배열이나 객체의 경우 배열값의 변경/추가, 객체의 필드 변경등은 가능함.

var box = 'box1';
console.log(box); // box1
 
var s = 100;
var t = Number("100"); // 문자열 100을 숫자형 100으로 변환 
document.write(s + "<br>");
document.write(t);

다음은 let과 const 예 입니다.

let box = 'box1';
const paper = 'paper1';

console.log(box); // box1
console.log(paper); // paper1
 
if (true) {
  let box = 'box2';
  console.log(box); // box2 - if문 안에서만 작용
}
 
console.log(box); // box1 
bar = 'bar2'; // error

hoisting

 - 자바스크립트에서 모든 변수 선언은 호이스트 되고 함수의 경우 함수명이 선언된 형식은 호이스팅 되며 변수에 할당된 형태(익명함수)는 호이스팅 되지 않습니다.

자바스크립트 변수에 있어 변수의 선언이 위치와 상관없이 최상위 레벨로 끌어올려진다고 이해할 수 있습니다.

변수 count가 호이스트 되어 변수는 선언되고 값이 할당되지 않은 undefined로 표시된다.

        document.write(count + "<br>"); // undefined

        var count = 0;

        myFnc(); // hello1

        function myFnc() {
            count++;
            document.write("hello" + count + "<br>");
        }
 

String 변수

 - 자바스크립트는 " ",' ' 를 사용할 수 있으며  \ 를 이용하여 ""안에 ""를 표시할 수 있다..

var string;
string = "책에\"자바스크립트는 대소문자를 구분해야 합니다.\"라고 나와 있다." 
//'책에"자바스크립트는 대소문자를 구분해야 합니다."라고 나와 있다.'
document.write(string);

 

 

출력문

 - 자바스크립트는 HTML 문서의 구성요소에 동적으로 출력하거나 웹브라우저의 경고창을 이용해 출력하는 형태가 출력문으로 볼 수 있다.

1) HTML 문서에 출력

 - document.write() : 괄호 안의 내용을 웹브라우저에 출력 한다.

<script>
  document.write("책에\"자바스크립트는 대소문자를 구분해야 합니다.\"라고 나와 있다.");
</script>

2) HTML 문서의 특정부분에 출력

 - 기존 HTML 소스를 유지하며 특정 부분만 변경 된다.

    <script>
        var fColor = ["red", "blue", "green", "orange"]
        var j=0;

        function fontColor() {
            j++;
            if(j >= color.length) {
                j = 0;
            }
            var pTag = document.getElementById("theP"); 
            pTag.style.color = fColor[j]
            console.log(j);
        };
    </script>

<body>
    <p id="theP">
      Lorem ipsum dolor sit amet consectetur adipisicing elit. 
    </p>
    <button onclick="fontColor();">글자색 바꾸기</button>
</body>

3) Alert 창을 이용한 출력

<script>
  alert("미세먼지 저감 조치에 따른 차량 2부제를 시행합니다.");
</script>

4) 브라우저 콘솔창을 이용한 출력

 - console.log()를 사용하며 결과 확인은 웹브라우저의 콘솔창에 나타나게 된다.

<script>
var box = "box1";
console.log(box);
</script>

 

'HTML, CSS, javascript > 이론' 카테고리의 다른 글

javascript - 기초 (3)  (0) 2022.07.06
javascript - 기초 (2)  (0) 2022.07.05
ScrollTop  (0) 2022.06.22
side-menu  (0) 2022.06.22
반응형  (0) 2022.06.16