브라우저 개발자 도구 -> Consloe에 직접 작성
HTML 내부에 script 태그를 이용해서 작성 (Internal 방식)
<script> function test() {} </script>
<script src="js파일경로"></script>
<button type="button" onclick="alert('inline 버튼 클릭됨')"></button>
명명 규칙
종류

var
let
const
형태
코드를 입력하세요
특징
종류
string (문자열)
// string (문자열) : "" 또는 ''로 작성된 값
const userName = "홍길동";
const phone = '01012341234';
const gender = 'M';
number (숫자) : 정수/실수 모두 포함
// number (정수, 실수, 양수, 음수, 0 등 모든 숫자)
const age = 25;
const height = 160.5;
const eyesight = -5;
boolean (논리값) : true(참), false(거짓)
// boolean (논리값 true/false)
const isTrue = true;
const isFalse = false;
object (객체) : Array(배열), 자바스크립트 객체 {k:v , k:v ..}
Array(배열) : 여러 값이 나열되어 있는 것의 묶음
const numbers = [10, 20, 30];
console.log("numbers : ", number, typeof numbers)
자바스크립트 객체 {k:v , k:v ..}
// K(key) : 값을 구분하는 이름(변수명 비슷)
// V(value) : K에 대응되는 값 (변수에 대입되는 값 비슷)
const user = { id: "user01", pw: "pass01", userName: "홍길동"};
// 모두 출력
console.log("user:", user, typeof user);
// 지정 출력 방법 1 : 변수명 ['key']
console.log(user['id']);
// 지정 출력 방법 2 : 변수명.key
console.log(user.id, user.pw, user.userName);
function (함수)
// const 변수명(함수명) = function() {};
const sumFn = function(a, b) { return a + b}; //익명 함수
undefined (정의되지 않은 변수) : 변수가 선언만 됐고, 값이 대입되지 않음
null (빈 객체) : 변수를 선언하고 빈 값을 할당한 상태이다, object 타입
function : 함수, 기능
function 함수명() { }
alert()
alert("hello");
// 변수 값 넣기
alert(`${money}원이 출금되었습니다. 남은 잔액 ${balance}원`);
alert(amount.value + "원이 출금 되었습니다. 남은 잔액 : "+ balance +"원");
prompt()
const name = prompt("이름을 입력하세요:");
console.log(name); // 사용자가 입력한 값 (문자열)
typeof : 변수/값의 자료형을 출력하는 연산자
let a = 42;
console.log(a); // 42 (값 출력)
console.log(typeof a); // "number" (타입 출력)
console.log()
console.log("hello");
document.getElementById() : 특정 id를 가진 요소를 가져오는 메서드
const number1 = document.getElementById("input1");
Script
정의
특징
장점
단점
Javascript
Interpreter
DOM
TDZ(Temporal Dead Zone)
블록레벨 scope (let, const)
정의
형태
let foo1 = 123; // 전역 변수
const foo2 = 456; // 전역 변수
{ // 블록레벨
let foo3 = 789; // 지역 변수
const foo4 = 0; // 지역 변수
}
함수레벨 scope (var)
{ // 블록레벨
var test1 = 456
}
function example () { // 함수레벨
var test2 = '함수레벨'
}
console.log(test1) // O
console.log(test2) // X
정의
종류
var
console.log(a); // undefined
var a = 10;
let / const
console.log(b); // ReferenceError: Cannot access 'b' before initialization
let b = 20;
console.log(c); // ReferenceError: Cannot access 'c' before initialization
const c = 30;
let b;
console.log(b); // undefined