(중급) 자바스크립트 독학 12일차 (생성자 함수)
2024. 1. 18. 20:13
#코딩독학
리터럴 객체 (단일) 과 별개로 와플 틀마냥 인수에 따라 유사한 와플(객체)를 찍어내는 함수 형태 function 생성자함수명(호출인수1, 호출인수2, 호출인수3..){ this.인수명1 = 변수; this.인수명2 = 변수; ... } let 변수 = new 생성자함수명(인수1, 인수2) [동작 구조] new 로 동작하는 순간 생성자함수 내에서 new로 받은 인수로 받은 값의 객체를 생성하고 생성된 객체를 return 함 [예시] function User(name, age){ this.name = name; this.age = age; this.showAge(){ alert(`당신의 나이는 ${age}입니다`) } } let user1 = new User('Mike', 33); let user2 = n..

(중급) 자바스크립트 독학 11일차 (변수/선언, 호이스팅, TDZ) _ 복습필요
2024. 1. 15. 12:51
#코딩독학
hoisting 스코프 어디에 있던 최상위에 있는 것처럼 동작 let var const ex. var name = 'mike'; console.log(name) == console.log(name) var name = 'mike'; * Temporal Dead Zone let, const도 hoisting으로 작동하나 TDZ의 영향을 받음. (할당 전에 사용 불가) * TDZ는 코드를 예측 가능하게 하고, 잠재적인 버그를 대비 ex. let age =30; funmciton showAge(){ console.log(age); } ------------------------------ let age =30; function showAge(){ console.log(age); let age = 20; } s..

(기초) 자바스크립트 독학 10일차 _ array
2024. 1. 5. 12:28
#코딩독학
[Array // 배열] 배열: 순서가 있는 리스트 1번에 철수 ... 30번에 영수 ex. let students = ['철수', ... '영수']; 배열은 문자 뿐만 아니라, 숫자, 객체, 함수 등도 포함할 수 있음. [Array Length] 배열의 길이 ex. students.length // 30 [Array Method] push // 배열 "끝"에 요소를 추가해주는 거 ex. students.push('진식') pop // 배열 "끝"에 요소 제거 ex. studnets.pop('진식') unshift // 배열 "앞"에 요소 추가 ex. students.unshift('진식') shift // 배열 "앞"에 요소 제거 ex. students.shift('진식') * push/unshift는..
(기초) 자바스크립트 독학 9일차 _ object - method (this 관련)
2023. 12. 21. 12:38
#코딩독학
Obejct - Method const jinsik = { name: 'jinsik', age: 30, sing: function(){ console.log('노래 개못핵') } } jinsik.sing() // '노래 개못핵' // "sing" -> method : 프로퍼티 상에 정의된 함수 // 함수 안에 인수가 없을 경우, 펑션 생략 가능 [ sing: function(){ -> sing() ] [객체와 Method의 관계] let boy = { name : 'Jinsik 1', sayHello : function(){ console.log(`Hello, I'm ${this.name}`) } } let girl = { name : 'Jinsik 2', sayHello : function(){ con..
(기초) 자바스크립트 독학 8일차 _ Object // 복습 필요
2023. 12. 20. 12:55
#코딩독학
[객체] const 대상 = { // 키 key1 : value1, key2 : value2, } * 마지막 쉼표는 없어도 되는데, 쉼표가 있는게 나중에 수정삭제할때 편함 [객체 key 추가] - 점(.)을 사용 or - 별괄호 사용(['key']) [객체 key 삭제] - delete 앞에 ex. const jinsik = { homekeeper : 'yes', age = 99, } [객체 접근] jinsik.homekeeper // yes [객체 Key 추가] jinsik.sing = 'suck' jinsik.['sing'] = 'suck' [객체 삭제] delete jinsik.sing; --- [객체 프로퍼티 / 객체 단축 ] 사전 정의(const)된 항목에 대하여 객체 안에서 정의할 때 추가로 ..

(기초) 자바스크립트 독학 7일차 _ 함수표현식/함수선언문/함수 화살표
2023. 12. 13. 12:52
#코딩독학
함수선언문 fucntion ~ 이름이 없는 함수를 만들고(funciton()), 그 이름없는 함수에 변수를 선언(let ~ = function()) --> 함수 표현식 함수선언문 vs 함수표현식 [다른점 : 호출타이밍] 함수 선언문은 전체영역에 대해 커버하지만, 함수 표현식 (let 이후)에 대해서는 순차적으로 실행되어 let이 선언하는 구역에 대해서만 실행 함수선언문은 어디서든 호출 가능 [함수선언문] sayHello(); function sayHello(){ // 함수실행문} -- 동작 ** 인터프리터 언어(Interpreted Launguage) 위에서 아래로(위 → 아래)로 순차적으로 코드를 실행하는 언어 그러나 함수의 경우, 자바스크립트의 알고리즘으로 인하여 코드상 설정된 모든 함수에 대해 선제..

(기초) 자바스크립트 독학 6일차 _ 함수(function) [복습 필요]
2023. 12. 12. 12:42
#코딩독학
[함수] -> 함수를 정의해서, 뒤에 표출되는 걸 편리하게 관리 function 함수명(매개변수1, 매개변수2, ....){ // 실행문 } 전역변수/지역변수 어디서나/함수 안에서만 사용하는 변수 (바깥에선 참조 불가) 예시. function sayHello(name){ const msg = `Hello, ${name}; alert(msg) } alert(msg) -> 사용 불가. ** let으로 선언한 건, 다시 let으로 선언 불가능하나, 전역/지역 변수간에 상이하게 선언 가능 예: let msg = "welcome"; function sayHello(name){ let msg = `Hello. ${name}`; console.log("함수 내부"); console.log(msg); } sayHell..

(기초) 자바스크립트 독학 5일차 _ switch 문
2023. 12. 11. 23:20
#코딩독학
switch 문 if, else로 대체 가능. 그러나, 간결하게 작성 가능. switch(평가){ case A : // A일때 코드 code B : // B일 때 코드 =======> 치환 if(평가 == A){ // A일때 코드 } else if(평가 == B){ // B일때 코드 } ## switch 구문은 선택된 case 이후에 모두 실행. (case마다 break 필요) ## 동일한 결과 값에 대해서는 세미콜론(:) 이후로 중복 가능

(기초) 자바스크립트 독학 4일차 _ 반복문
2023. 12. 10. 17:37
#코딩독학
반복문 종류 for while do .. while 반복문 행동제약 break continue for [구조] for(초기값; 실행조건; 시행변수;){for 동안 시행할 명령} 인수(3개)가 존재함. while [구조] let 구문 while(실행조건){while 시행변수, 시행명령} let을 구문을 설정한 후에 while의 실해옺건동안 변수 및 시행명령을 수행함 do .. while. while과 똑같으나 while(실행조건이 뒤에 오기때문에 선행적으로 시행명령을 수행) 반복문 행동제약 break/continue 조건을 충족할 시 반복문을 중지함/다음 단계로 반복 [구조] 반복문 { if(){ break(/continue); } } ** 주의 for(true) 구문은 조심히 사용할 것. 뒤의 행동제약 ..

(기초) 자바스크립트 독학 3일차_ 연산자
2023. 12. 9. 23:31
#코딩독학
자바스크립트 공부 3일차다. 연산자에 관해 학습함. 기본적으로 언어상에서 연산자는 대입연산자, 논리연산자 같은 게 있나봄. 연산법칙 + - / * % 가 있고. 비교연산자 == != 논리연산자 || && ! 같은 게 있나봄 나머진 이해가 가는데 이중 좀 헷갈릴만한 게 1. 복합(약식)대입연산자 2. 논리연산자 상의 우위조건 인듯함 코드를 깔끔하게 하기 위해 복합대입연산자를 쓰는거 같은데 왜 a += b가 a = a + b가 되는지 아직도 잘 이해가 안감.. 그냥 암기를 해야하는 거 같은데. 막상 저런 코드 레퍼런스가 들어오면 한눈에 안들어오고 헷갈릴 거 같음. 복합 논리연산자 코드 상에서 if(a = b && c = d || e = f ){ ... } 라는 코드가 있다면 AND 연산자를 먼저 생각..