<script>
// Javascript 코드 작성
</script>
console.log()
: 브라우저의 개발자 도구, > 콘솔에서 확인가능하다.alert()
: 브라우저가 열렸을 때, 그 내용을 알림창으로 보여준다.<script>
를 어디에 써도 상관은 없지만, <head>
안쪽과 <body>
안쪽에 많이 씀위치는 어디에서나 사용이 가능하다!
<Head>
태그 내부<body>
태그 내부<Head>
와<body>
사이<body>
아래 등
<head>
에서 사용된다,<script src = ".index.js"></script>
** 읽기 순서 : 읽히는 순서에 따라서 작동된다.
<head>
에 포함될 경우<body>
에 포함될 경우
undefined
가 할당중복 선언
과 재선언
이 가능하다.✂️ var
의 문제점
: 중간의 같은 이름의 변수를 다시 선언해도 기존의 변수에 덮어 씌워진다.
: 변수를 선언했다는 건 분명히 다른 데이터를 넣으려는 것인데, 그것을 기존의 데이터에 덮어 씌우면 문제가 발생하기 마련이다!
: 변수가 {블록 단위}에서 끝나는 것이 아니라, 원치않은데 전역으로 돌아다니고 영향력을 행사하게 되어 의도치 않은 문제가 발생하게 된다.
//var
var name = "홍길동";
// var : 중복할당이 가능하지만 순서대로 입력한거에 따라 사라짐
var name = "나비";
// 값 할당을 하지 않으면 undefined라고 뜸
var age;
// 재할당을 할땐 다 쓰는게 아니라 아래와 같이 쓰면됌
age = 20;
//clg 만 쓰면 자동으로 쓰여짐
console.log(age);
중복 선언 불가능
하지만, 재할당 가능
이다.var
과 마찬가지로 선언을 하지 않으면 자동으로 undefined
가 들어간다.//let
// 변수 선언시 동일한 이름 불가능, 중복선언 안되면 빨간줄로 표현됌
let name = "홍길동";
//let name = "나비"; 중복선언은 불가능
console.log(name);
name = "나비"; //원래 있는 값에 데이터만 바꿔주는 것이기 때문에 가능함.
console.log(name);
초기화를 동시에 진행
해야한다.재선언 불가능
, 재할당 불가능
//const
const AGE = 20; //값이 꼭 할당되어야지 오류안남
// 즉, 고정된 값이어서 재할당이 안됌. 한번 지정되면 데이터 바꿀 수 없음
AGE = 30; //이렇게 불가.
const colors = ["red", "orange", "yellow","green","blue","indigo","purple"];
// 이건 가능
colors.push("pink");
// const 사용시, 아예 새로운 배열을 넣는건 불가능, 그저 넣고 뺴고는 가능함. 즉, 밑에꺼는 const에선 불가능하다.
const color = ["red", "yellow"];
color = ["java",'html'];
console.log(color);
약한 타입
의 언어에 속한다.var
, let
, const
키워드로 변수를 선언하고 사용하기 때문에 약한 타입언어let myName = "홍길동";
let email = 'jdjdj@naver.com';
let city = "서울";
console.log(myName, email, city);
📌 TIP 문자와 변수를 동시에 쓰고 싶을때!
// + 연산자를 사용해서 변수를 문자로 변환 후 더하여 사용한다. console.log("안녕 " + myName , "입니다."); // 백틱 문자 사용, ${} 안에다가 변수 쓰면된다. console.log(`하윙 제 ${email} 입니다`);
백틱 문자 사용해서 동시에 쓰는 것이 요즘에 사용하는 방식이니 이걸로 쓰자!
//데이터타입 - 숫자형
let number = 123;
console.log(number);
➡️ 콘솔에 123
이렇게 값이 뜬다.
true
와 false
두가지 값만 가지는 데이터//Boolean
const CHECKED = true;
const ISSHOW = false;
console.log(CHECKED, ISSHOW);
//Null - 의도적으로 비어있음을 의미할 때 사용
let empty = null;
console.log(empty);
//Array
let fruits = ["lemon", "apple", "orange", "pineapple" ];
console.log(fruits[0], fruits[3]);
//배열의 길이
console.log(fruits.length);
//마지막 순서에 추가됌
fruits.push("bear");
// 마지막 순서를 빼기
fruits.pop();
// 맨 앞에 값 추가
fruits.unshift("melon");
// 맨 앞 값 삭제
fruits.shift();
//찾을 값이 어디에 있는지 인덱스 값을 확인할 수 있음
console.log(fruits.indexOf("apple"));
console.log(fruits.indexOf("bear")); //찾는 값이 없으면 -1이 출력됌
//찾을 값의 존재 유무! 없을땐 false출력
console.log(fruits.includes("orange"));
console.log(fruits.includes("papaya"));
//배열값 반전
console.log(fruits.reverse());
console.log(fruits); //반전시키고 나서 이 행을 실행하면 반전된 값이 알아서 적용되서 나옴.
let cat = {
//key:value 형태
name: "베키",
age: 2,
isCute:true,
mew:function(){
return "wowowolf";
}
}
console.log(cat.name);
console.log(cat.age);
//함수를 실행시킬땐 함수이름에 ()를 꼭 써줘야 제대로 출력된다.
console.log(cat.mew())
//typeof: 데이터가 어떤 타입인지 알려주는 키워드
console.log(typeof "Hello");
console.log(typeof true);
const types = 20;
console.log(typeof types);
prompt()
: 사용자에게 데이터를 입력받게 하는 것 인데, prompt()
로 입력받은 값은 문자
로 저장이 된다. -> 따라서 형 변환이 필요하다.🔎 JS의 자동 형변환
String()
: null과 undefined에도 문제가 없다.toString()
: null과 undefined에서 사용이 불가하다.//문자 형 변환
let num = 123;
console.log(typeof num);
let a = String(num);
console.log(typeof a);
let b = num.toString(); //null과 undefined에서 사용불가
console.log(typeof b);
Number()
let mathScore = "77";
let engScore = "88";
let avgScore = (Number(mathScore) + Number(engScore)) / 2;
console.log(avgScore);
=
==
, !=
, ===
(타입까지 같은지), !==
, >
, >=
, <
, <=
+
, -
, *
, /
!
, &&
, ||
%
**
• num = num + 5 -> num += 5
• num = num - 5 -> num -= 5
• num = num 5 -> num = 5
• num = num / 5 -> num /= 5
Num++;
Num--;
let num_2 = 10;
let nums_2 = 10, num_3 = 15;
//뒤에 ++는 바로 그 단락에서 저장되지 않음
result1 = num_2++;
console.log(result1) //10
//뒤에 ++는 바로 그 단락에서 적용됨
result2 = ++num_3; //16
result2 = ++num_3; //17
console.log(result2) //17
//비교 연산자(일치 연산자)
let d = 123;
let e = '123';
console.log(d == e); //t
console.log(d === e); //f
console.log(d != e); //f
console.log(d !== e); //t
||(OR)
&&(AND)
!(NOT)
이제 본격적인 JavaScript를 시작했다!
게을러지지 않겠다 👊🏼