오늘 배운 것
- 콘솔로그 다른 자료형을 함께 출력할때는 , 로 구분
- `null`과 `undefined`는 모두 자바스크립트의 데이터 타입
- object = dictionary
관련 블로그 : [https://agvim.wordpress.com/2017/08/30/python-dictionary-vs-javascript-object/](https://agvim.wordpress.com/2017/08/30/python-dictionary-vs-javascript-object/)
- 변수명.length = len(변수명)
ex. "I LOVE WECODE".length
- 일반 함수(인풋과 리턴 없음. 실행하면 바로 출력)
//함수 선언
function sayHello() {
console.log("안녕하세요! 만나서 반갑습니다")
}
//함수 호출
sayHello()
>>> 안녕하세요! 만나서 반갑습니다
```
- 리턴 함수 (반환 함수)
(함수 실행과 별개로 함수결과는 따로 출력해야함. 함수는 따로 실행할 필요 없음)
리턴 = 반환 : ‘ 다른 곳에 사용할 수 있는 값을 만들어줄게! ‘
**차이점!! >>> 리턴 : 변수에 할당 가능 // 콘솔로그 : 변수에 할당 불**가능
function returnSeven() {
let seven = 7
return seven
}
returnSeven() //함수 실행! 리턴은 함수를 실행한다고 바로 출력되지 않고 않음
console.log(returnSeven()) //함수 결과 값을 출력!
>>> 7
// 리턴하는 이유는 리턴 한 값을 다른 변수에 할당 할 수 있기 때문에 사용!! (별 다섯개!)
function myName() {
let name = "김은찬"
return name
}
let mymyName = myName() // 함수명 할당 > 리턴 결과를 다른 변수에 할당
console.log(mymyName) // 변수 출력 하면 리턴 값이 출력됨
```
- 인풋 함수
함수 선언 할 때 인풋 : 파라미터(매개변수 = 인자)
함수 출력 할 때 인풋 : 아규먼트(호출 = 인수)
**하나의 함수에 인자만 바꿔 넣는다면 동시에 여러개의 결과값을 얻을 수 있음**
function getLengthOfName(name) {
return name + " / 글자수 : " + name.length
}
let name = getLengthOfName("김은찬")
console.log(name)
>>> 김은찬 / 글자수 : 3
---
function sayMyAge(age) {
return age
}
let age = sayMyAge(7)
console.log(age)
let age2 = sayMyAge(9)
console.log(age2)
let age3 = sayMyAge(11)
console.log(age3)
>>>
7
9
11
---
function getFullName(name, age) {
let result = "이름 : " + name + " / 나이 : " + age + " 살"
return result
}
// 이렇게 함수 안에 변수를 지정하고 리턴은 변수를 출력하도록 하자
let mymy = getFullName("박새로이", "3") //아규먼트 순서 잘 지킬것
console.log(mymy)
>>>
이름 : 박새로이 / 나이 : 3 살
- 내부에서 선언한 변수 ex. result 는 함수 외부에서는 사용 불가 (기준은 중괄호 안에 있는 변수를 뜻하며, 그 이유는 함수의 파라미터는 함수 내에서만 사용가능하기 때문임!!)
오늘 느낀 것
- 자바스크립트로 클론 코딩 할때는 그냥 뭔지도 모르고 따라하다보면 되었는데 막상 다시하라고 하거나 어떻게 작동하는지 원리를 설명하라고 하라면 아무말도 할 수 없었다. 이제와서 기본 문법을 공부해보니까 어떻게 작동하는지 원리를 알게되는 기분, 게다가 파이썬이랑 같이 배우니까 서로 어떻게 다르고 어떻게 같은지를 알 수 있어서 머릿속에 더 잘 들어오는 기분!
- 가장 좋은 공부 방법은 기본 문법과 프로젝트를 함께 진행하는 것 같다. 배운 기본 문법을 프로젝트에 바로 적용하면서 사용법을 익히고, 튜토리얼이나 클론 코딩을 통해 실제 사용하는 코드를 경험하며 다시 기본 문법의 원리를 잘 이해할 수 있게 되는 선순환 공부법인 것 같다.
'나는 이렇게 학습한다 > Etc' 카테고리의 다른 글
CSS _ Position 3대장 을 만나보자. (0) | 2021.11.02 |
---|---|
<img > 태그 와 {background-image} 의 차이를 알고 싶어? (0) | 2021.11.01 |
리눅스 #디렉토리의 구조 (0) | 2021.09.15 |
리눅스 #쉘과 커널, 쉘 스크립트 (0) | 2021.09.14 |
리눅스 #IO Redirection (0) | 2021.09.13 |