
.js//내용 이런식으로 써준다.▶️ JavaScript는 내장 방식, 링크 방식으로 사용할 수 있다.
<body>
<script>
//여기서 js 문법을 사용한다.
</script>
</body><script> </script> 사이에 작성해준다. 위치는 아무곳이나 무관!<head> </head> 에 많은 내용이 들어가면 웹사이트에서 빈 화면이 오래 보여질 수 있다. 굳이 <head> 태그에 입력할 필요가 없다면 <body>태그에 입력해준다.<script src="./index.js"></script> 이런 형태로 가져온다.src=” “ 에 파일 위치를 입력해준다.▶️ JavaScript에서의 명령어
console.log("hello");alert("hello")var name = "hj" ; 여기서 var가 선언, name부터가 할당이다.var name = "hj" ; //선언과 할당을 동시에 한 문법
var name2; //변수의 선언
name2 = "hj" //할당키워드(var/let/const) 변수이름 = 값;1️⃣ var
var name = "hj" ; // 선언과 할당.
var name; //name이라는 변수가 재선언.
name = "hj 2"; //다른 값으로 재할당.
// -> 결국 name = "hj 2"가 된 것
2️⃣ let
let name3 = "hj 3"; //선언과 할당.
name3 = "hj 4" //재선언이 불가능하다. 재할당만 가능하다.
// -> 결국 값은 "hj 4"가 된다.
3️⃣ const
const name4 = "hj5";
//재선언 불가능, 재할당 불가능(선언할 때 할당도 필수)
“ “ 사이에 내용을 입력해준다. let myName = “현정”;let number = “123”;<script>
let age = 99;
console.log( "hello", age )
console.log( name4 + age )
console.log( "hello" + age )
console.log(`hello ${name4} bye bye`)
</script>하나의 변수에 여러개의 값(비슷한 특징을 가진)을 담겠다. 여러 데이터를 순차적으로 저장한다.
배열에 다른 자료형은 넣지 않는게 좋다. 비슷한 값을 넣어주는 것이 좋다.
순서가 중요하다! 배열에는 인덱싱 개념이 따라온다. " "하나하나를 원소라고 한다. 배열의 원소에 접근할때 사용한다.
// (비슷한 특징을 가진 값들을) 하나의 변수에 여러개의 값을 담고 싶을 때
let fruits = ["사과", "바나나", "포도"];
console.log(fruits);
//인덱싱 개념: 변수이름[원소의 번호]
console.log(fruits[0]) //JS에서는 번호가 0부터 시작한다. 사과가 0번째.
console.log(fruits[1])
console.log(fruits[2])
{ }let cat ={
//얘네는 Key라고 부른다. key: value 형태로 적는다.
name: "장화",
age: 80,
isCute: true,
mew: function() {}
} console.log(cat.name)
console.log(cat.isCute)
console.log(cat.mew()) //함수가져올땐 괄호 같이가져온다.해당 자료형이 어떤 것인지 알려준다.
console.log(typeof “안녕 이건 string”); 의 형태이다.
prompot( ) 함수는 사용자에게 창을 뛰워주고 입력값을 받을 수 있다.
let number = prompt("수학점수") 의 형태로 사용한다.
“ ” 안의 내용이 화면상에 보여진다. 입력된 값은 number 에 저장되는 형식이다.

▶️ 여기서 prompot( ) 로 입력 받은 값은 문자로 저장이 된다! 즉 숫자를 입력해도 숫자의 값이 아니라 문자로 받아들이는 것.
let mathScore = prompt("수학점수")
let engScore = prompt("영어점수")
console.log(mathScore+engScore)
// -> 수학점수 80점, 영어점수 50점을 입력했더라도 문자로 인식되어 "8050"이 된다.
이럴 경우에 받은 값을 숫자로 인식할 수 있도록 형변환을 해주어야 한다.
let mathScore = Number(prompt("수학점수"))
let engScore = Number(prompt("영어점수"))
console.log(mathScore+engScore)
// -> 이렇게 하면 Number로 인식되어 수학점수와 영어점수가 더해진 값이 나온다.
String( ); 어떤 형태이든 문자로 형 변환.toString( ); null, undefined 형 변환 시 오류 발생. 숫자를 2~36 진수의 수로 변경하고 싶은 경우 사용한다고 한다. [도움받은 링크]Number( ); 문자열을 숫자로 변환parseInt( ); 문자열이 숫자로 시작하면 숫자가 끝날때까지만 형 변환을 한다. 소수점이 있는 경우 정수만 뽑아서 표시가 된다. [도움받은 링크]let num1 =5;
let num2 = num1;
// -> 결국 num2의 값은 num1의 값으로 동일하게 되었다.let num = 5
num++;
console.log(num)
// -> 이렇게 하면 5에 1이 더해져 6이 출력된다.++num; 형태의 전위형과 num++; 형태의 후위형으로 나뉜다.j = ++i; 의 형태.let x = 3;
const y = ++x;
// x = 4
// y = 4j = i++; 의 형태.let x = 3;
const y = x++;
// x = 4
// y = 3console.log("80" == 80) //true. 값이 같다.
console.log("80" === 80) //false. 문자와 숫자로 자료형은 다르다. console.log(70 > 80) //false
console.log(80 > 70) //trueconsole.log("lily" != "linda") //두 값이 같지 아니하다.(다른값인가?) true.
console.log("80" !== 80) //문자열80과 숫자80은 같지 아니하다. 자료형까지 비교. true.console.log(80+70) //150
console.log(8 * 7) //56
console.log(10 / 2) //5
console.log(10 % 2) // %는 나눴을 때의 나머지를 구해준다. 몫은 안나온다.
let num =5;
console.log(num % 2 == 1) // 결국 (1==1)을 묻는것. true
console.log(num % 5 !=0) //나머지가 0인지 아닌지를 묻는.
//이런식으로 5의 배수인가, 아닌가? 와 같은 값을 발견해낼 수 있다.
console.log(2**3)//거듭제곱 2의 3승을 구해라// 4< num <8 를 판별하고싶다면?
let num = 5;
console.log(4<num && num<8) //true 출력.let num = 5;
console.log( num ==5 || num >8) //true 출력.
//특정변수가 불린값이라면
let bool = true;
let undef;
console.log(!bool) //해당값은 원래 true. 반대 값은? flase가 출력.
console.log(!undef)//undef? 선언만 하고 할당은 안했으니 값이 없어 false. true 출력
console.log(!true) //false가 출력.
console.log(!null) //null값? 없으니까 false. true출력
console.log(!undefined)//undifined값? 없으니까 false. true출력
//변수에 값이 있냐 없냐를 판단할때 '!'를 사용한다.num = num+5 -> num+=5
num = num-5 -> num-=5
num = num*5 -> num*=5
num = num/5 -> num/=5function hello ( ) { } function : 키워드 hello : 함수의 이름을 지정해준다. ( ) : parameter. 함수를 선언할 때 매개변수(인자)를 받을 것. 어떤 값을 넣을건지로 생각. { } : Body (Block). 함수가 실행되는 Scope라고도 한다. 매개변수가 들어왔을 때 어떤 값을 뱉을건지. 어떻게 구현을 시킬건지.명시적 함수 선언 function hello ( ) {…}
function sayHello(name) {
console.log(`HELLO, ${name}`);
//이런식으로 하면 된다. 그런데 얘는 이런식으로 하겠다고 묶은거지 실행을 시켜주지는 않는다.
//실행을 시키려면 함수를 호출해줘야한다. 아래형식처럼.
function funEx1 () {
console.log("hello 1");
}
funEx1(); //호출!
함수 표현식 const hello = function ( ) {…}
//함수 표현식
let sayHello = function (name) {
console.log(`Hello, ${name}`);
}
//함수 표현식 (화살표 함수 사용)
let sayHello = (name) => {
console.log(`Hello, ${name}`);
}
매개변수: 함수 외부에서 함수 내부로 값을 전달하고 싶을 때 사용
반환값 : 함수 내부의 값을 함수 외부로 전달하고 싶을 때 사용
1️⃣ 매개변수 x, 반환값 x (return이 쓰이냐 안쓰이냐 여부)
function funEx1 () {
console.log("funEx1")
}
2️⃣ 매개변수 ㅇ, 반환값 x
function funEx2 (num){
console.log(num);
}
3️⃣ 매개변수 x , 반환값 ㅇ
function funEx3() {
console.log("funEx3");
return "hello" //반환값 "hello"
}
let hello = funEx3();
console.log(hello);
// let hello = "hello"; // 반환값이 hello라는 변수에 들어감. 결국 hello가온다
4️⃣ 매개변수 ㅇ, 반환값 ㅇ
function funEx4(num1, num2) {
console.log("funEx4");
return num1 + num2;
}
let sum = funEx4(2, 3)
console.log(sum);
//5 출력.
if만 사용하는 경우
if(조건) {
//괄호 안의 조건이 만족할 때 실행할 문장
}
if, else를 사용하는 경우 (else는 조건을 필요로 하지 않는다.)
if(조건1) {
//괄호 안의 조건1이 참일 때 실행할 문장
}else{
//괄호 안의 조건1이 거짓일 때 실행할 문장
}
if, else if, else 를 사용하는 경우 (else if는 조건이 필요하다.)
if(조건1) {
//조건이 참일 때
} else if(조건2) {
//조건1은 거짓, 조건2가 참일 때
} else if(조건3) {
//조건1,조건2가 거짓, 조건3이 참일 때
} else {
//조건1, 조건2, 조건3 모두 거짓일 때
}
if 중첩 ( if문 안에 또 다른 if문이 들어갈 수 있다.
if(조건1) {
if(조건2) {
//실행
} else {
//실행2
}
}
조건은 true, false로 결과가 나온다.
조건에 변수 자체를 써도 되는 경우가 있다. 이건 변수 자체가 true, false로 판별이 가능할 경우!
if문 에서의 연산자
//비교 연산자
a==b : a와 b가 동일하면 참
a!=b : a와 b가 동일하지 않으면 참
a<b : a가 b보다 작으면 참(b가 a보다 크면 참)
a<=b : a가 b보다 작거나 같으면 참
//논리 연산자
a&&b : a AND b. a 그리고 b.
a||b : a OR b. a 또는 b.
2️⃣ 삼항 연산자
조건문?참이면 이렇게 : 거짓이면 이렇게; 의 형태이다.
if문을 삼항 연산자로 간단하게 표현이 가능하다.
//if문
if (name == "cookie") {
console.log("맞아요");
} else {
console.log("틀려요");
}
//삼항 연산자로 표현하면?
name = "cookie" ? console.log("맞아요") : console.log("틀려요");
3️⃣ switch문
값이 true, false로 나오는 조건이 아닌 변수를 사용한다.
변수와 case의 값이 일치한다면 실행된다.
number = "d";
switch (number) {
case "a":
console.log("1");
break;
case "b":
console.log("2");
break;
case "c":
console.log("3");
break;
default:
console.log("모르겠어요ㅜㅜ");
break;
}
// -> number = "d"의 값은 없다. 그렇기 때문에 "모르겠어요ㅜㅜ" 출력.
//case 가 끝날 때 break;는 있어야 한다!
💬
✏️
처음 만난 자바스크립트! 이번 수업에서 처음으로 실습을 하지 않고 나가서 쉬는 시간을 가졌다..!
일단 함수라는 단어 자체에서 겁을 먹었던 것 같다. 왜냐면 나는 중학교때부터 수학을 하지 않았다. 완벽한 수포자였다.
그리고 많은 정보가 와르르 떨어졌다. 머리에서 정리가 되지 않았다. 그래서 실습시간 겸 쉬는시간.. 짧은 몇 분동안 한 번에 이해가 안될 걸 알았어서 쉬는 시간을 가졌다. 깔끔하게 넘겨버렸다 ㅎㅎ 그리고 천천히 복습을 하면서 간단한 문제였구나를 깨달았다. 그리고 머쓱하지만 과제채널에 뒤늦게 댓글을 남겨보았다.
그런데 개념에 대한 이해는 된 것 같은데 ‘그래서 이걸 어떻게 활용하면서 써먹어야하지?’라는 생각에 마주쳤다. 이거는 앞으로 더 배워가면서 정리가 되지 않을까 싶다!