프론트엔드/JavaScript

js 기초편 (10/30 수업 총 정리)

민밥통 2023. 10. 30. 15:19

camelCase

낙타모양 같다고 해서 camel이라고 이름을 붙임(ex. theQuickBrown)

 

PascalCase 

PascalCase는 생성자 함수 이름을 만들어 줄 때 사용함 (ex. Date() )


 

표현식  값을 만들어내는 코드다.
문장  하나 이상의 표현식이 모이게 되는 것을 문장이라 한다.
프로그램  문장이 모여서 프로그램이 만들어진다.
키워드  js에서 자주 사용되는 단어가 키워드, 정해놓은 것, 특별한 의미가 있다. 우리가 사용한 변수나 상수의 이름으로 사용할 수 없고, 함수의 이름으로도 사용할 수 없다. (대표적인 키워드 alert도 있고, documentm(다큐먼트), this, if, for) 키워드는 계속 증가 하고 있기에 굳이 외워도 되지 않아도 된다. 
식별자(identifier) 이름을 붙힐 때 사용하는 단어. (변수명, 함수명, 속성명, 메소드명 > 이모든 속성은 이름을 부여할 땐 항상 소문자로 시작한다. )

 

-- 표현식 -- 

ex) 10 + 20 + 30 

 

-- 문장 --

이 표현식이 묶여 있는 것을 문장이라고 한다.

 

 

alert("안녕하세요"); < 이런 게 하나의 문장으로 보면 된다. 

문장의 끝을 알려주는 것을 세미콜론으로도 구분하기도 하고, 줄 바꿈으로도 구분을 한다. 

 

우리는 문장을 끝낼 때는 세미콜론으로 끝내자는 규칙을 사용하자. 

 

-- 식별자 --

참고 출처

https://velog.io/@exploit017/JSBasic-%EC%8B%9D%EB%B3%84%EC%9E%90-Identifier

 

[JS/Basic] 식별자(Identifier)

식별자 : 자바스크립트에서 이름을 붙일 때 사용하는 단어식별자의 종류변수명함수명속성명메소드명식별자 금지 규칙식별자는 자바스크립트에서 이름을 붙일 때 사용하는 단어이다. 식별자의

velog.io

 

1. 생성자 함수의 이름은 항상 대문자로 시작한다.
2. 변수와 인스턴스, 함수, 메서드 이름은 항상 소문자로 시작한다.
3. 여러 단어로 이루어진 식별자 각 단어의 첫 글자를 대문자로 한다.

4. 공백문자 없이 camelCase를 사용언더바( _ )를 활용한다. 

5. 클래스명을 입력할 때는 항상 첫 글자는 대문자로 시작한다. (ex. class Student() { })

6. 변수명, 함수명, 속성명, 메소드명 > 이모든 속성은 이름을 부여할 땐 항상 소문자로 시작한다.

 

ex)

is true		--> isTrue
will return 	--> willReturn
new array 	--> newArray

 

  • 식별자의 종류 

자바스크립트의 식별자는 크게 네 종류로 나눌 수 있다. (더 많은 종류로 나누기도 한다. 이 부분은 다른 자료를 참고)

구분단독으로 사용 다른 식별자와 사용

구분 단독으로 사용 다른 식별자와 사용
식별자 뒤에 괄호 X 변수 속성
식별자 뒤에 괄호 O 함수 메소드

아래 표는 네 종류의 식별자 예시이다.

예시식별자 종류

예시 식별자 종류
alert('Hello World') 함수
Array.length 속성
input 변수
prompt('Message', 'Defstr') 함수
Math.PI 속성
Math.abs(-117) 메소드

참고로 위의 '속성'의 경우, 객체를 알고 있다면 객체 안의 요소가 '속성'이라는 것을 알고 있을 텐데 이 두 '속성'은 같은 것이다.

 


자바스크립트는 런타임이다. 

제가 작성한 구무을 즉시즉시 컴파일 없이 바로 확인이 가능하다. 

무겁지 않게 빨리 빨리 웹과 연동해서 할 수 있게끔 동적인 것, 그 시대에 요구된 사항들을 빨리 변환시켜서 개발할 수 있게 만들어진 언어라고 생각하면 된다. 


주석

// 한줄로 설명

/* 여러줄 설명 */

 


 

결과를 바로 확인 할 수 있는 꿀팁

about:blank

> console

 

바로 실행할 수 있는 부분이다. 

 

about:blank 쳐서 개발자 > 콘솔에서 확인 가능!!

 


if (10>20) {
    console.log("맞다")
}else {
    console.log("아니다")}

 

이런식으로 빠르게 확인이 가능하다!

 


document.write

(홈페이지에 나온다)

 

if (10>20) {
    document.write("맞다")
}else {
      document.write("아니다")}


const fruits = ['apple', 'banana', 'cherry'];


"this is \"string\""
> 'this is "string"'

 

\" , \" 문자열을 입력하는데 인용구 이런 거 입력할 때 사용 (이스케이프 문자를 넣어주면 된다. )


console.log("aaa\nbbb")
> aaa
   bbb

 

줄바꿈을 사용


"aaa"+"ccc"+"sssss"
> 'aaacccsssss'

 

붙어서 사용


문자 선택 연산자 (문자열에 대한 문자열에 있는 몇 번째를 쓰고 싶다고 할 때)

 

"안녕하세요"[2]
> '하'

 


.length 문자열의 길이를 출력한다.

(속성의 형태로 출력됐다)

(문자열에 " . " length 속성을 출력)

 

"안녕하세요.".length
> 6


let myName = "gildon"
console.log("안녕하세요 " + myName)
> 안녕하세요 gildon

 

console.log("안녕하세요. 제이름은 " + myName);
> 안녕하세요. 제이름은 gildon

 

console.log가 출력하는 역할


console.log(`안녕하세요 ${myName}`); > 백틱 ` 을 사용
>안녕하세요 gildon

 

${myName}으로 변수를 사용하는 공식을 활용한다. 


`10+20의 결과값은 ${10 + 20 } 입니다!`

'10+20의 결과값은 30 입니다!'

 

"10+20의 결과값은" + 10 + 20 + "입니다!"

'10+20의 결과값은1020입니다!'

 

이러한 차이점이 난다.


문자열 " " , " " , " "

숫자 : 정수, 부동소수점을 가진 숫자

+, -, *, / > 연산자 우선순위

% > 3의 배수

boolean > 참과 거짓을 구분할 때 쓰는 표현 (true, false)

> , < , >= , <= 

===, !==


가 , 나 , 다 , 라 , 마 ... 이렇게 있는 순서도에 따라 크다 작다가 처리됨

 

 

 

 

if(불표현식){

불표현식이 참일 때 처리할 내용 }

else { 불표현식이 거짓일 때 처리할 내용}

&& 논리곱: and와 같다 양쪽에 비교했던 값이 모두 true일 때만 true를 반환한다.

 

if(불표현식1 && 표현식2) { }

|| 논리합(or) 


typeof(자료 dlrjfmf 

const 이름 = 값


프로그램 끝까지 쓰고 싶을 경우 const 상수를 사용하면 된다. 


let 는 재선언 안되지만, 재할당은 됨 

var 은 재선언과 재할당 둘다 됨

 


변수에 적용할 수 있는 연산자 

a = a + 1 --> a += 1

a = a - 1 --> a -= 1

a = a * 1 --> a *= 1

a = a / 1 --> a /= 1

a = a % 1 --> a %= 1

왼쪽을 오른쪽 처럼 간단하게 식을 줄여서 할 수 있다. 

 

이런 것들을 대입 연산자라고 표현을 한다. (반복을 할 때 주로 많이 쓴다.)

 


대입연산자를 이용해서 활용하기

let list = "";

list += "<ul>";
list += " <li> hello </li>";
list += " <li> java </li>";
list += "</ul>";

document.write(list);


증감 연산자

변수 ++ : 변수의 값에 1을 더한다. (후위)

++변수: 변수의 값에 1을 더한다. (전위)

변수--: 변수의 값에 1을 뺀다. (후위)

--변수: 변수의 값에 1을 뺀다 . (전위)


전위와 후위의 차이점 

let no = 10;
alert(no++);
alert(no++);
alert(no++);

10, 11, 12 순서로 나옴

let no = 10;
alert(++no);
alert(++no);
alert(++no);

 

11, 12, 13 순서로 나옴 


자료형 변환

 

prompt 활용

const input = prompt("내용 입력", "이름");

document.write(input);

이런식으로 활용이 가능하다 신기해!!!!!!!!!!!


confirm 활용

const input = confirm("수락하겠습니까?");

document.write(input);

Number(자료)함수  숫자 자료로 변환함수 

Number("$270")m Number("270")

 

프로그램에서 사용하고 싶을 때 이렇게 입력 받은 데이터를 어떻게 변환을 시킬 거냐 . prompt를 통해서 여기다가 문자열이라는 것을 이름이라는 걸로 했지만 만약에 수량을 입력하세요라거나 하면 숫자가 들어오게 되면 문자열이 됨. 

 

const no = prompt("수량입력", "0");
const input = confirm("수락하겠습니까?");

alert(typeof no);
document.write(no);

위에는 String이 나오고.

const no = prompt("수량입력", "0");
// const input = confirm("수락하겠습니까?");

alert(typeof Number(no));
document.write(no);

이건 number가 나온다.

 


 not a number 이거는 숫자가 아니라는 뜻

 

 

typeof(Number("$274"))
'number'

 

Number(true)
1

 

Number(false)
0

 

Number가 이렇게 숫자로 변환시켜주기도 한다. 

 


typeof("52"-2)
'number'
"52"-2
50

 

저기에 변환을 주지 않음

 

typeof(true *2)
'number'

 

자기 자신 값은 변하지 않으니까 number라는 데이터 타입을 가진다. 

 

이런식으로 

 

1 + true
2

 

1에다가 true를 더하면 2가 된다.

이렇게 차이점을 느껴본다. 

 


문자열 변환 : String (자료) 함수 

String(10)
> '10'
String(true)
> 'true'
String(false)
> 'false'
typeof(String(true))
> 'string'


불형으로 변환 : Boolean(자료) 함수

Boolean(NaN)
>false
Boolean(1)
>true
Boolean("1")
>true
Boolean(null)
>false

let no = 1;
>undefined
Boolean(no)
>true

Boolean("false")
>true (이거는 문자열로 생각하기 때문에 true가 나옴)


!! : 논리 부정 (Boolean 연산자를 부정하는 것 Boolean 대신에 쓰는 것 같음?)


인치 단위를 cm로 바꾸기

prompt로 입력받아서 n인치는 n CM 입니다. 라고 alert로 뜨게하기

var inch = prompt("inch 숫자를 입력하세요.");
var cm = 2.54;
alert(inch + "인치는 " + inch * cm + "cm 입니다.");