HTML

JavaScript 정의와 타입

Neda 2022. 6. 29. 02:20

자바스크립트는 웹사이트의 더 나은 상호작용을 위한 프로그래밍 언어이다.

 처음에는 알림을 띄우는 매우 단순한 기능들이 있었지만

현재는 Adobe Flash나 Active X 등을 대체하고 백 엔드와 프론트 엔트 전반에 걸쳐 두루 사용되고 있다.

이름은 JavaScript지만 Java는 전혀 상관이 없는 언어이다.

사용하기 위해서는 <body>태그 내에 스크립트를 포함하거나 .js파일을 불러온다.

<body>
...
<script>실행할 javascript구문</script>
<script src="scripts/main.js"></script>
</body>

JavaScript의 타입

원시 값

객체를 제외한 모든 타입의 값으로 불변

Boolean 타입

true와 false 둘 중 하나의 값을 가지는 논리 값

let bool_on = true;

Null 타입

null 값만을 가짐.

let a = null;

Undefined 타입

undefined 값만을 가지며, 값이 할당되지 않았을 경우의 값

let result = undefined;

Number 타입

배정밀도 64비트 이진 형식 값으로 float64라고도 부르며

(-(2^53 − 1)부터 2^53 − 1의 범위를 가진다.

  • +infinity : 양의 무한대 값을 가짐
  • -infinity : 음의 무한대 값을 가짐
  • Number.MAX_VALUE : 자바스크립트에서의 가장 큰 값
  • Number.MIN_VALUE : 자바스크립트에서의 가장 작은 값
  • NaN(Not a Number) : 잘못된 계산으로 인해 숫자로 표현될 수 없는 값
let value = 10000;

BigInt 타입

임의 정밀도로 정수를 표현할 수 있는 자바스크립트의 숫자 원시 값

Number의 한계보다 더 큰 정수도 안전하게 저장 가능

정수 끝에 n을 추가하거나 생성자를 호출하여 생성

Number와 혼합 연산하면 에러 발생

const x = 2n ** 53n;
9007199254740992n

String 타입

일반적인 문자열 데이터 표현

각 문자는 16비트 부호없는 정수 값이며 하나의 자리를 차지하는 배열의 요소와 같다.

때문에 배열처럼 문자열에서 0번째 문자는 인덱스 0으로 접근가능하다.

다만 다른 언어와 달리 문자열이 생성된 후에는 변경할 수 없다.

기존의 문자열을 사용하기 위해서는 기존 문자열을 복사하여 새로운 문자열을 만들어야 한다.

let name = 'neda';

Symbol 타입

고유하고 변경 불가능한 원시 값.

객체 속성에는 데이터 속성과 접근자 속성이 있으며, 이를 키로 사용할 수 있다.

var symbol_1 = Symbol("one");
Symbol("one") === Symbol("one") // 각기 다른 심볼
typeof symbol_1; // "symbol"

주석

// 한 줄 주석
/*
여러 
줄
주석
*/

== 대신 ===

==는 값만을 비교하여 일치하면 true를 반환한다.

===은 값과 자료형까지 비교하여 완전히 일치해야 true를 반환한다.

조건문

if (condition) {
	execute statement
} else {
	execute statement
}

함수

function add(num1,num2) {
    let result = num1 + num2
    return result;
}
add(2,3) // 5

html 요소에 대한 이벤트

html객체.addEventListener(액션, 액션 발생시 실행할 함수)

document.querySelector('html').addEventListener('click', function() {
  alert('clicked html');
});

'HTML' 카테고리의 다른 글

HTML <Meta> 데이터  (0) 2022.06.29
웹이 동작하는 과정  (0) 2022.06.29
HTML의 정의와 기본적인 사용  (0) 2022.06.28
웹사이트 파일 구조와 이름  (0) 2022.06.28
웹사이트 구상하기  (0) 2022.06.28