자바 스크립트에는 3가지 변수 타입이 있습니다.

다른 언어에 비하면,, 참 편한거같습니다...


 

1. var

var은 다시 선언하고 , 다시 할당하는것이 가능합니다.

선언이란. 예를들어

var a = "사과" // 여기서 처음으로 이름이 a인 var 변수가 선언되었습니다.
console.log(a) // 사과

var a = "나무" // 그런데 여기서 다시한번 var a = "나무" 라고 선언하였습니다.
console.log(a) // 나무

a="바나나" // 여기서는 a="바나나" 라고 재할당 한것입니다.
console.log(a) // 바나나

 

var는 재할당,재선언이 가능하다라고 알고계시면 되겠습니다.

 


 

2. let

let 은 재선언 과정에서 오류가 납니다,,

문법오류가 나면서 let 변수 a는 이미 선언되었다고 나옵니다.

재선언 하는 코드를 지우니 문제 없이 실행되었습니다.

따라서 let은 재선언은 되지않고 재할당만 가능하다. 라고 생각하시면 되겠습니다.

 


 

3.const

const 변수도 재선언은 안되는 모습입니다...

똑같이 문법오류로 이미 선언되었다고 나옵니다.

그럼 a에 재할당 시키는건 어떨까요?

 

vs코드 상에서는 빨간줄 오류 없이 문제가 없지만 실행하면

상수 변수로 할당되었다고 나옵니다.

따라서 const 변수는 재할당 재선언 둘다 안된다고 생각하시면 됩니다.

 


정리하면 var,let,cont 변수들은

  재선언 재할당
var O O
let O X
const X X

라고 보시면 되겠습니다.


 

좀 더 알아보자면 호이스팅 이라는 개념이나옵니다.

호이스팅이란?

자바스크립트 함수는 실행되기 전에 함수내부에 필요한 변수값들을 모두 모아

유효범위의 최상단에 선언한 것 처럼 동작하는 것을 호이스팅 이라합니다.

자바스크립트를 위에서 아래로 하나씩 읽는(파싱)  파서(parser)가 함수 실행전 해당하는 함수 내부를 흝어봅니다

함수 내 존재하는 변수, 함수 선언에 대한 정보를 기억하고 실행합니다.

함수의 유효범위는 함수 블록 {} 내 인데, 필요한 값들을 블록 위의 상단으로 끌어올리는것입니다.

실제코드가 위로 올라가는 것은 아니고

자바스크립트 파서 내부적으로 끌어올려 처리하는 것이므로

실제 메모리에서는 변화가 없습니다.

 


 

var 변수의 호이스팅

console.log( ) 함수가 실행될때 위에 선언된적 없는 a라는 변수가 담겨있습니다.

 첫번째 결과는 undefined인데 내부에서 미리 a변수를 선언하여 undefined로 초기화를 해두었기 때문입니다.

 


 

let 변수의 호이스팅

let 변수는 호이스팅이 불가능합니다. 함수선언전 초기화하기전에 접근할수없다고 나옵니다

 


 

const 변수의 호이스팅

const 변수도 동일하게 호이스팅이 불가능합니다. 함수선언전 초기화하기전에 접근할수없다고 나옵니다.

 


 

간단하게 여기까지 알아본결과 그럼 어떤 변수를 사용하는게 제일 적당할까요,,?

const 변수를 사용하는것이 바람직합니다.

이유는 재할당 재선언이 안된다는것은 코드 중간에 다시 선언될 일이없다는 것이죠.

다른 사람들과 협업,프로젝트를 진행할때 

var나 let으로 선언해 중간에서 그 값을 재할당,재선언하게 되버리면

코드가 짧을경우엔 상관없지만 500줄 더 나아가 엄청 긴 코드가 되어버리면

찾기 난감한 상황이 올것입니다,,

여기까지입니다,, 설명이 부실하거나 이상한부분 있다면 댓글부탁드립니다,,!

 

'웹 홈페이징 > JS' 카테고리의 다른 글

자바스크립트 html 파일과 연결하기 , alert( )  (0) 2023.08.01

자바스크립트는 웹 페이지를 좀더 동적으로 표현할수있게 해줍니다.

경고창을 띄운다던지 애니메이션을 보여준다던지.

그전에 html 파일과 js파일은 연결하고 확인해보는 과정을 해보려고합니다.

 

HTML 파일 sample.html

1. vs코드를 열고 폴더에 다음과같이 html 파일과 js파일을 만들었습니다.

 

2. html 파일에 

 <script src="./sample.js"></script>

src에는 경로입니다....

그럼 잘 연결되었는지 확인하기위해서 경고창을 띄워보겠습니다.

 

JavaScript 파일 sample.js

경고문을 띄우는 명령어는 alert입니다.

alert( ) <- 괄호안에 '' 문자열 타입으로 넣어주면 됩니다. 

자바 스크립트 문자열은 '' "" 모두 인식합니다.

저장후 홈페이지 새로고침을 하면 아래처럼 경고창이 나오게됩니다.

 

'웹 홈페이징 > JS' 카테고리의 다른 글

자바스크립트 변수 var , let , const 차이 및 설명  (0) 2023.08.01

<ol>

order list 순서가 있는 리스트입니다.

밑에 <li>로 내부 리스트를 열거하면됩니다.

See the Pen Untitled by bongEdalE (@bongEdalE) on CodePen.

 

<ul>

unorder list 순서가 없는 리스트입니다. 위에 <ol> 과는 다르게

순서없이 ●로 열거되어있습니다

똑같이 <li> 태그로 리스트를 만들어야합니다

See the Pen Untitled by bongEdalE (@bongEdalE) on CodePen.


<img>

이미지 삽입 src 를 이용해 파일 경로를 입력해주면 됩니다.

개죽이 사진을 준비했습니다.

  <p>개죽이에요</p>
  <img src="./개죽이.png">


<a>

하이퍼링크를 거는 태그입니다. href로 주소를 명시해주면 이동할수있습니다.

 

<p>구글로 드가자</p>
<a href="www.google.com">여기를 누르시오</a>

 

이번엔 글자관련 태그를 알아보겠습니다

 

<b>

<b> 태그는 주로 텍스트를 강조하는 역할을 합니다. <b></b> 사이에 넣어주면 원하는 텍스트가 bold 하게 나옵니다

See the Pen Untitled by bongEdalE (@bongEdalE) on CodePen.

 

<strong>

<strong> 태그도 강조하는 역할을합니다 <b> 태그와 비슷한 역할을합니다

See the Pen Untitled by bongEdalE (@bongEdalE) on CodePen.

 

<i>

<i> 태그는 글꼴에 기울임을 추가해줍니다

See the Pen Untitled by bongEdalE (@bongEdalE) on CodePen.

 

<em>

<em>태그도 <i> 태그와 동일하게 글자를 기울여서 보이게 해줍니다.

See the Pen Untitled by bongEdalE (@bongEdalE) on CodePen.

 

<s>

<s>태그는 나무위키에서,,,많이 보던것 처럼 취소선을 만들수있습니다.

See the Pen Untitled by bongEdalE (@bongEdalE) on CodePen.

<h1,h2,h3...h6>

글자 크기와 관련된 태그입니다. 주로 제목을 적거나 할때이용됩니다.

See the Pen Untitled by bongEdalE (@bongEdalE) on CodePen.

 

<p>

<p>태그는 주로 문단을 표현할때 이용합니다 아래 코드처럼 한칸띄고 입력하능합니다

See the Pen Untitled by bongEdalE (@bongEdalE) on CodePen.

 

<br>

<br>태그는 개행이라고 생각하시면 편합니다 줄바꿈을 해줍니다.

See the Pen Untitled by bongEdalE (@bongEdalE) on CodePen.

 

<hr>

<hr>태그는 수평선을 그어줍니다 

See the Pen Untitled by bongEdalE (@bongEdalE) on CodePen.

태그 기능
<!DOCTYPE html> 웹 문서의 유형을 html로 지정
<html> 모든 html 태그들의 최상위 태그
<head> 문서의 헤드,상단
<body> 문서의 본문, 여기에 내용을 나타낸다.

실제 실행은 vs코드에서 진행하였습니다.

 

옆 디렉토리 우측클릭후 생성 확장자명을 .html로 하면 자동적으로 완성됩니다.

 

shift + enter를 입력하게 되면 자동적완성이 나오게되는데 엔터를 눌러줍시다.

 

자동적으로 완성이되었습니다. 이제 저희는 저희만의 페이지를,, 만들었습니다..

vs코드에서 오픈한 디렉토리로 이동하게되면 다음과같이 test.html파일이 만들어진걸 볼수있습니다.

클릭해서 실행하게되면

 

화면이 잘 나오는게 보이죠?

빈화면이 나오면 정상입니다. 

vs코드로 돌아가서 보면

태그 기능
<!DOCTYPE> 웹 문서의 유형을 html로 지정
<html> 모든 html 태그들의 최상위 태그
<head> 문서의 헤드,상단
<body> 문서의 본문, 여기에 내용을 나타낸다.

 

실질적으로 들어가있는게 보이죠?

다음엔 다른 태그들을 이용해 안에 내용을 채워보겠습니다.

HTMLHypertext Markup Language

웹 페이지와 그 내용을 구조화하기 위해 사용하는 코드입니다.

여기서 Hypertext

비순차적인 검색이 가능하도록 제공되는 텍스트입니다.

특정 단어 및 사진이 다른 데이터에 연결이 되어있어

사용자가 관련문서를 넘나들며 정보를 얻을수 있게하는것입니다.

쉽게말해 하이퍼링크 정도로 생각하시면 될거같습니다.

 

그럼 비슷하게 생긴 HTTP는 무엇일까요?

Hypertext Transfer Protocol

로 위에 이야기한 Hypertext 로 이루어진 HTML을 주고받기위한

통신규약이라고 생각하시면 되겠습니다.

 

HTML은 콘텐츠의 구조를 정의하는 마크업 언어 입니다.

HTML 은 태그로 감싸 그 기능을 수행할수있습니다.

Hello
<p>HelloL<p>

밑에 'Hello' 가 <p> 태그로 감싸진것이 보이시나요?

이처럼 HTML 언어에서 화면에 표시하기 위에선 꼭 태그로 감싸야합니다,

 

또 HTML은 트리구조를 가지고있습니다.

이런느낌으로 하나 하나의 태그를 노드라고하는데

위에 노드에서 아래노드로 가지가 뻗는 트리구조를 가지고있습니다

vs 코드 확장 프로그램은 vs코드 좌측 제일 하단 이모티콘 부분을 누르면 보실수있습니다

방법은 검색후 install 누르시면 끝입니다 어려운거 없죠?

설치완료후 우측하단에 다음과 같이 나오게 되는데 누르고 재시작해주시면 됩니다.

편안

'웹 홈페이징 > 끄적끄적,,' 카테고리의 다른 글

웹 개발 일기 1 (HTML,CSS)  (0) 2022.11.08

+ Recent posts