Today I Learned (TIL)

TIL (Today I Learned) 23.10.17

폼폼코 2023. 10. 17. 20:12
728x90
반응형

 

 

undefined와 null 의 차이점 

 

1.undefined 

  1. 변수에 값이 지정되지 않은 경우, 데이터 영역의 메모리 주소를 지정하지 않은 식별자에 접근할 때
  2. .이나 []로 접근하려 할 때, 해당 데이터가 존재하지 않는 경우
  3. return 문이 없거나 호출되지 않는 함수의 실행 결과 

2.null

  1. 용도 : ‘없다’를 명시적으로 표현할 때
  2. 주의 : typeof null
var n = null;
console.log(typeof n); // object

//동등연산자(equality operator)
console.log(n == undefined); // true
console.log(n == null); // true

//일치연산자(identity operator)
console.log(n === undefined);
console.log(n === null);

typeof null은  object라고한다  javascript 자체 버그라는데  코드작성시 조심해야겠다 

 

 

 

Class(클래스) 와 instance(인스턴스)

 

짧게 설명하자면 클래스는 설계도 인스턴스는 설계도로 만든 실제 물건  정도로 생각하면 이해가 빠르다 

 

예시

class Person {
	// constructor는 이름을 변경할 수 없어요.
  constructor(name, age) {
		// 이름(name)과 나이(age)가 없으면 사람이 아니죠?
		// new라는 키워드를 이용해서 인스턴스를 만들 때, 기본적으로
		// 넣어야 하는 값들을 의미해요! :)
		// 여기서 말하는 this는 만들어질 인스턴스를 의미한다고 생각해주세요!
    this.name = name;
    this.age = age;
  }

	// 다양한 메소드를 아래와 같이 정의할 수 있어요.
	// 여기서 this.name으로 내부 값을 접근해야 함을 잊지 마세요! :)
  sayHello() {
    console.log(`Hello, my name is ${this.name} and I'm ${this.age} years old.`);
  }
}

const person1 = new Person("Alice", 30);
const person2 = new Person("Bob", 25);

// 만든 객체를 토대로 메서드 호출해보기
person1.sayHello(); // 출력: "Hello, my name is Alice and I am 30 years old."
person2.sayHello(); // 출력: "Hello, my name is Bob and I am 25 years old."

기본적인 설계도(class)를 사용해 만들어두니 객체의 재활용이 훨씬더 쉬워졌다 

아직은 짧은 코드이지만 길이가 길어질수록 유용하게 쓰일 키워드이다. 여기서 Constructor 를 사용하였는데 

 

Constructor는 Class의 생성자 함수이다. 생성자 함수는 객체를 생성할 때 호출되며, 객체를 초기화하는 역할을 한다.  

` Constructor `키워드를 사용하여 정의한다 

class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }

  sayHello() {
    console.log(`Hello, my name is ${this.name} and I'm ${this.age} years old.`);
  }
}

const person = new Person('Alice', 20);

위 코드에서 constructor 메소드는 nameage를 인자로 받아 this.namethis.age 속성을 초기화 한다


내일 부터는 개인과제가 지급이된다 급하게 JS문법강의를 서둘러 들었지만 미숙한 부분이있기에 

중요 개념들 몇개만 더 남겨야겠다  문법들을 계속해서 알아가다보니 알고리즘 문제들도 어느정도 흐름이 잡히는거같다

그래도 아직 멀엇다....

 

728x90
반응형
댓글수0