数据类型检查
检查数据类型
基本数据类型 typeof
复杂数据类型 instanceof
语法:
实例对象 instanceof 类型
arr instanceof Array
=>返回 true | false
特殊:
Array Date -> Object
继承
数组类型
Array.isArray(obj)
-> true | false
原型链
1. 显示原型和隐式原型
prototype是构造函数都有的属性,称为显示原型。
___proto__是每个对象都有的属性,又称为隐式原型。
但是,___proto__不是一个规范属性,只是部分浏览器实现了此属性,对应的标准属性是[[Prototype]]
* 每个对象都有一个__proto__属性指向它的原型 *
原型对象也是一个对象, 原型对象也有__proto__指向它的原型
\
一切即对象
一切即对象
javascript内置对象
Array Object Date ....
基本数据类型
string -> String
number -> Number
boolean -> Boolean
函数也是对象
数据类型 Function
let f = new Function('console.log("hello")')
f()
Es6新特性class类
class类
ES6新增的面向对象语法
解决: 使用构造函数和原型定义对象属性方法问题更加简易
语法:
class 类名{
// 构造器 -> 私有
constructor(name,age){
//属性和方法
this.name = name
this.age = age
}
// 方法 -> 原型->公共
say(){
}
}
let p = new 类名(name,age)
ES6面向对象 class语法
更符合面向对象思维
创建对象之前, 一般先定义对象的类型, 在类型中定义属性和方法
先类型再有对象
人类
name
age
say()
class 人类{
construtor(){
name
age
}
say(){
}
}
new 人类('张三')
new 人类('李四')
张三
李四
手机
华为h002手机
苹果x001手机
type
color
send()
call()
class 手机类{
constructor(){
type
color
}
send()
call()
}
new 手机(华为h002手机)
new 手机(苹果x001手机)
java 面向对象编程语言
class
\