class Person{
constructor(name,age,sex){
this.name = name;
this.age = age;
this.sex = sex;
}
showSelf(){
alert(`我叫做${this.name},今年${this.age}岁,性别是${this.sex}`)
}
}
// var p = new Person("超人",17,"男");
// p.showSelf()
class worker extends Person{
constructor(name,age,sex,job){
super(name,age,sex);
this.job = job;
}
showJob(){
alert(`我的工作是${this.job}`);
}
}
var p1 = new worker("超人",17,"男","维护世界和平");
p1.showJob()
showSelf(){
alert(`我叫做${this.name},今年${this.age}岁,性别是${this.sex}`)
}
问题一:这个里面为什么使用单引号${this.name}才能生效,使用双引号就不行?
问题二:$在这里是什么意思?作用是什么?
ES6引入的模板字符串,自己可以好好研究下es6,都是很基础的内容。
https://es6.ruanyifeng.com/#docs/string#%E6%A8%A1%E6%9D%BF%E5%AD%97%E7%AC%A6%E4%B8%B2
~~这不是单引号,这个是反引号,这是js 的ES6字符串拼接变量的语法规范, 用${}来承载变量
反引号可以直接拼接变量。就不用+params+ 这样去写。
${}这个在jsp中是el表达式,在js中也有这样的规范来获取变量值。
嗯了解一下js es6的语法,这个是模板字符串,还有promise,let,const,map,set等等还有拓展了数组字符串的方法(flat,find等等)。建议看阮一峰es6的书,一搜就有